私のモデルには、曜日ごとのデータを含む詳細テーブルがあるため、次の定義があります。
public class JournalDay
{
public int JournalID { get; set; }
public DayOfWeek Day { get; set; }
public TimeSpan From { get; set; }
public TimeSpan To { get; set; }
public virtual Journal Journal { get; set; }
}
EF Fluent API マッピング クラスでは、複合キーを次のように定義します。
HasKey(jd => new { jd.JournalID, jd.Day });
しかし、Entity Framework によって生成されたテーブル構造には、主キーの最初の列しかありません。
CONSTRAINT [PK_dbo.Journals] PRIMARY KEY CLUSTERED
(
[JournalID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
この問題は、2 番目の列が DayOfWeek 列挙型であることが原因ですか?? 以前に複合キーで列挙型を使用したことがありますが、この問題は発生しませんでした