Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 外键的必需属性_Entity Framework_Ef Code First - Fatal编程技术网

Entity framework 外键的必需属性

Entity framework 外键的必需属性,entity-framework,ef-code-first,Entity Framework,Ef Code First,我正在考虑实体框架中的外键属性(使用代码优先的方法)。 我希望确保始终设置此外键,换句话说:它应该是必需的 使用“必需”属性/数据注释是否是一个干净的解决方案?或者此数据批注是否仅用于用户输入?我认为您不需要在数据批注中具有必需的属性。如果您已声明为 public int ForeignKeyName{get;set;} 它将根据EF的要求进行调整。如果它 public int? ForeignKeyName{get;set;} 实体框架约定将其视为可选(可为空)。我不确定您正在使用什么样

我正在考虑实体框架中的外键属性(使用代码优先的方法)。 我希望确保始终设置此外键,换句话说:它应该是必需的


使用“必需”属性/数据注释是否是一个干净的解决方案?或者此数据批注是否仅用于用户输入?

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

public int ForeignKeyName{get;set;}
它将根据EF的要求进行调整。如果它

 public int? ForeignKeyName{get;set;}

实体框架约定将其视为可选(可为空)。我不确定您正在使用什么样的web框架(前端示例:asp.net mvc)。取决于此,您需要考虑输入级别。

是的,我认为您是对的。谢谢换句话说,我将仅用字符串来集中讨论[Required]。再次抱歉。你确定你的陈述吗?如果我不告诉模型id,那么id会变为0吗?你是在这里接受关于primaryKey的信息吗?查看所有约定的详细信息@mosquito87,Jayantha是正确的,关于您的问题,如果您不自己设置id,您的正确也是正确的,Entity Framework code first本身不支持这一点,因此您必须提供导航属性和外键,以便代码可以首先自己填写id。另一方面,实体框架(不是代码优先)本身支持此场景,而不需要导航属性。