在EntityFramework Code First中,主键约束是否按照约定应用于外键?

本文关键字:约定 应用于 是否 约束 First Code EntityFramework | 更新日期: 2023-09-27 18:01:58

假设您在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的Key属性。div ID

我刚刚测试了您的代码和创建的db确实导致MaxLength为10被应用到孩子的parentID属性。从记忆中,这一直在CF只要我一直在使用它-自2011年以来。此外,您不必使用[Key]属性,因为您遵循主键ID或{entity}ID的正确约定。

在EntityFramework Code First中,主键约束是否按照约定应用于外键?