主要约束是否按照惯例在EntityFramework Code First中应用于外键

时间:2014-05-07 04:55:22

标签: c# entity-framework ef-code-first

假设您在EntityFramework Code First中定义了这两个实体。

public class Parent
{
     [MaxLength(10)]
     public string ID { get; set;}
     public virtual ICollection<Child> Children { get; set; }
}

public class Child
{
     public string ParentID { get; set; }
     public Parent Parent { get; set; } 
}

MaxLength约束是否会自动应用于Child的ParentID属性?会有其他限制吗?

如果是这样,它是否在EF Code First的第一个版本中引入?

我将去验证问题的第一部分,但我在这里找不到答案,似乎人们可能想知道。

编辑:删除了Parent.ID上的Key属性

1 个答案:

答案 0 :(得分:0)

我刚刚测试了你的代码,并且创建的db确实导致MaxLength为10,应用于child的parentID属性。从内存开始,只要我从2011年开始使用它,就一直存在于CF中。此外,您不必使用[Key]属性,因为您遵循正确的ID约定或主键的{entity} ID