DataAnnotations 与 Fluent API 方法做同样的事情吗?
例如,.HasRequired == [Required] 吗?
.HasKey == [密钥]?
如果我不希望我的表 pk 字段生成为 ClassNameClassNameID 如果我对我的 pk 属性使用 ClassNameID 格式,我必须用 [Key] 标记类键或使用 .HasKey 吗?
我可以使用 DataAnnotations 和 Fluent API 的组合吗?或者,是一个还是另一个?
我必须为所涉及的两个类映射 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");
});
}
谢谢。