DataAnnotationsはFluentAPIメソッドと同じことをしますか?
たとえば、.HasRequired == [必須]ですか?
.HasKey == [Key]?
pkプロパティにClassNameID形式を使用している場合に、テーブルpkフィールドをClassNameClassNameIDとして生成したくない場合は、クラスキーを[Key]でマークするか、.HasKeyを使用する必要がありますか?
DataAnnotationsとFluentAPIの組み合わせを使用できますか?または、それはどちらか一方ですか?
関係する両方のクラスのM:M関係をマッピングする必要があります。
public class Foo
{
public ICollection<Bar> Bars
}
public class Bar
{
public ICollection<Bar> Foos
}
public class Context : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Foo>()
.HasMany(f => f.Bars).WithMany(b => b.Foos)
.Map(t =>
{
t.MapLeftKey("FooID");
t.MapRightKey("BarId");
t.ToTable("FooBar");
});
modelBuilder.Entity<Bar>()
.HasMany(b => b.Foos).WithMany(f => f.Bars)
.Map(t =>
{
t.MapLeftKey("FooID");
t.MapRightKey("BarId");
t.ToTable("FooBar");
});
}
ありがとう。