我不明白使用OnModelCreating
功能的原因是什么?
当我可以做像
这样的事情[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Int Id { get; set; }
public Int LanguageId { get; set; }
[ForeignKey("LanguageId")]
public Language Language { get; set; }
也许我错了,但当我读到这篇文章时,它被解释为多对多关系。 所以为什么不做这样的事呢。
ICollection<User> Users
答案 0 :(得分:4)
为了建立实体之间的关系,我们有两个选择
当我们使用流畅的API时,我们需要在这个OnModelCreating(DbModelbuilder modelbuilder)
方法中指定我们的关系。所以当第一次创建模型时,它们应该维护实体之间的关系。
使用此方法的常见示例在下面的代码snnipet
中给出modelBuilder.Entity<Department>().Property(t => t.Name).HasMaxLength(50);
使用数据注释属性可以实现同样的效果。
[MaxLength(50)]
public string Name {get;set;}
因此,如果您不想使用DataAnotation使用Fluent API来实现您的目的。