我是否必须创建一个 POCO 类来表示多对多关系中的连接表?
这是我的场景:
public class Event
{
public int EventId { get; set; }
public int OrganizerId { get; set; }
}
public class Person
{
public int PersonId { get; set; }
ICollection<Event> Events { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
ICollection<Event> Events { get; set; }
}
一个人或一个公司都可以组织一个活动,我想创建一个像这样的连接表
Table Events_People
PersonId
OrganizerId
Table Events_Companies
CompanyId
OrganizerId
我知道如果我创建两个 POCO 类应该很容易做到,比如
public class EventPerson
{
public int EventId { get; set; }
public Person PersonId { get; set; }
}
比使用 Fluent API 之类的
modelBuilder.Entity<Person>()
// PK
.HasKey(e => e.PersonId)
// FK
.HasMany(e => e.Events)
.WithRequired(e => e.PersonId);
有没有办法避免两个 POCO 并直接告诉 API 创建连接表?谢谢