Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
C# 通过Linq向实体分配主键值给新实体时的混乱_C#_Database_Entity Framework 4_Linq To Entities_Primary Key - Fatal编程技术网

C# 通过Linq向实体分配主键值给新实体时的混乱

C# 通过Linq向实体分配主键值给新实体时的混乱,c#,database,entity-framework-4,linq-to-entities,primary-key,C#,Database,Entity Framework 4,Linq To Entities,Primary Key,当我使用从SQL Server中已创建的数据库生成的模型在EF中创建新实体时,显然我可以在声明新实体时在代码中设置实体ID(主键) 例如,当我在代码中创建“Value”表的新实例时,如下所示: Value newValue=Value.CreateValue(int-valID) 我传入一个数字,说12到有效: Value newValue=Value.CreateValue(12) 但是,当我在SQL Server中检查值表的数据时,对新实体有效的主键值被分配给12以外的值,例如7。为什么会这

当我使用从SQL Server中已创建的数据库生成的模型在EF中创建新实体时,显然我可以在声明新实体时在代码中设置实体ID(主键)

例如,当我在代码中创建“Value”表的新实例时,如下所示:

Value newValue=Value.CreateValue(int-valID)

我传入一个数字,说12到有效:

Value newValue=Value.CreateValue(12)

但是,当我在SQL Server中检查值表的数据时,对新实体有效的主键值被分配给12以外的值,例如7。为什么会这样


提前感谢。

检查数据库中的主键是否设置为自动编号(在Enterprise Manager中,转到表的设计模式并检查列属性)。这意味着数据库将忽略您传递的任何值,并自行生成主键。

sql server中ID字段的属性标识是否设置为true?这就成功了,谢谢hcb。是的,就是这样。如上所述,hcb将有效列的IDENTITY属性设置为true。谢谢Jakub和hcb。