1
我正处于学习阶段。我想知道的是ASP.NET MVC-5框架在Code First约定中使用实体框架可以为空的默认为空的外键?我试图创建外键关系,而外键列原来是空的。我有一个概念,如果我把一个列标记为外键,它应该被实体框架标记为NOT NULLABLE。在ASP.Net MVC 5应用程序中默认可以使用外键可空
下面是例子:一个“标准”可以有许多“孩子”:
一对多。
public class Children
{
public int Id { get; set; }
public string Name { get; set; }
public int StandardId { get; set; }
[ForeignKey("StandardId")]
public virtual Standard Standard { get; set; }
}
public class Standard
{
public Standard()
{
Children = new List<Children>();
}
public int Id { get; set; }
public string StandardName { get; set; }
public virtual ICollection<Children> Children { get; set; }
}
只需上面的配置,外键“StandardId”中走出来在数据库Nullable
。我只是想知道这是预期的行为?外键是否被DEFAULT设置为NULLABLE,或者我没有正确连接外键属性?
好了,什么是acheive非空的FK的最佳途径。如果我在FK属性上装饰了“必需”属性,或者我应该按照您回答的方法。哪一个是正确的,哪一个我会一直遵循? – Unbreakable
无论你坚持流利的配置还是属性配置,这都是一个问题。我个人更喜欢流利的“方式” – Piotr
这清除了我的怀疑。非常感谢你。 – Unbreakable