2013-02-27 101 views
3

我只是在考虑实体框架中的外键属性(使用代码优先方法)。 我想确保总是设置这个外键,换句话说:它应该是必需的。外键的必需属性

正在使用“必需” - 属性/数据注释干净的解决方案吗?还是应该将此数据注释仅用于用户输入?

回答

6

我不认为你需要在数据注释中具有必需的属性。如果您声明为

public int ForeignKeyName{get;set;} 

它将按照EF的要求。如果它

public int? ForeignKeyName{get;set;} 

它将被视为可选(可为空)的实体框架公约。我不知道你使用的是什么样的框架(网页前端:asp.net mvc)。取决于你需要考虑的输入级别。

+0

是的,我认为你是对的。谢谢。 换句话说,我只用字符串conecentrate [必填]。 – mosquito87 2013-02-27 10:55:25

+0

是的,这是真的 – 2013-02-27 10:56:54

+0

对不起。你确定你的陈述吗?如果我不告诉模型的ID,那么Id不会变成0? – mosquito87 2013-02-27 11:02:44