多対多の関係で結合テーブルを表すには、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; }
}
Person と Company の両方がイベントを開催できるので、次のような参加テーブルを作成することを考えました
Table Events_People
PersonId
OrganizerId
Table Events_Companies
CompanyId
OrganizerId
次のような2つの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);
2 つの POCO を回避し、結合テーブルを作成するよう API に直接指示する方法はありますか? ありがとう