在我的模型中,我有一个详细信息表,其中包含一周中每一天的数据,因此它具有以下定义:
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)
这个问题是由第二列是 DayOfWeek 枚举引起的吗?我以前在复合键上使用过枚举,但从未出现过这个问题