是否可以在实体框架中映射一对多关系,其中关系的“多”方实际上只是一个简单的类型?
举个例子,假设这些是我的数据库表:
create table EventDetails
(
EventId int not null identity(1, 1),
Name nvarchar(200) not null,
constraint PK_EVentDetails primary key (EventId)
)
create table EventDates
(
EventId int not null,
EventDate date not null,
constraint PK_EventDates primary key (EventId, EventDate),
constraint FK_EventDate_Event foreign key (EventId) references EventDetails(EventId)
)
我想把它表示为一个类,如下所示:
public class EventDetails {
public int Id { get; set; }
public string Name { get; set; }
public IList<DateTime> Dates { get; set; }
}
我不确定如何使用实体地图执行此操作:
public class EventDetailsMap : EntityTypeConfiguration<EventDetails>
{
public EventDetailsMap()
{
ToTable("EventDetails").HasKey(evnt => evnt.Id);
// --- WHAT GOES HERE?? ---
HasMany(evnt => evnt.Dates)
.WithRequired()
.HasForeignKey(/* ??? */);
}
}
我的直觉是我无法做到这一点 - 相反,我必须创建一个EventDate
课程 - 但很高兴知道这一点!
(供参考:我使用的是EF6)