Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# Entityframework核心无法强制转换类型为';System.Int32';输入';System.Int64';_C#_Sql Server_Entity Framework Core - Fatal编程技术网

C# Entityframework核心无法强制转换类型为';System.Int32';输入';System.Int64';

C# Entityframework核心无法强制转换类型为';System.Int32';输入';System.Int64';,c#,sql-server,entity-framework-core,C#,Sql Server,Entity Framework Core,DB first entity framework core在SaveChanges()时引发此异常; 这段代码只适用于实体框架,但不适用于实体框架核心 异常消息:无法将“System.Int32”类型的对象强制转换为“System.Int64”类型 ------------------------------------------------------------------------------ DDL 创建表CS_产品( productNo bigint标识(1,1)不为空, pro

DB first entity framework core在SaveChanges()时引发此异常; 这段代码只适用于实体框架,但不适用于实体框架核心

异常消息:无法将“System.Int32”类型的对象强制转换为“System.Int64”类型

------------------------------------------------------------------------------ DDL 创建表CS_产品( productNo bigint标识(1,1)不为空, productName nvarchar(256)不为空, 最便宜价格小数(14,2)不为空, lastPrice十进制数(14,2)不为空, 数量int不为空, uploadDate日期时间不为空, lastUpdateDate日期时间不为空, 评论nvarchar(450), 约束PK\u CS\u产品主键(productNo), );
这条线背后有什么原因吗

csProduct.ProductNo = 0;
保存后,框架将分配密钥

只需删除该行,如果需要ID,则在.SaveChanges()之后删除; 然后检查实体的ID值

csRepository.CSContext.SaveChanges();
var NewID = csProduct.ProductNo;
这是我的错。。 当我第一次创建表时,productNo是bigint,我基于该表创建了模型。 之后不知何故(一定是我…)productNo改为int。
在将productNo更改回bigint后,该代码工作正常。仅供参考,该代码适用于entity framework,但不适用于entity framework core…不确定存储库中的内容,但通常我会附加新实体,然后设置状态,然后保存。存储库中实际上没有任何内容。它现在只返回上下文。我也尝试过先连接新实体,但它仍然不工作…我真的无法理解为什么它与实体框架一起工作,而与实体框架核心不工作。是否有任何流畅的映射代码或迁移代码错误地将类型设置为
Int32
?EF core版本:1.1.0,应该正确映射主键..因为它是由实体框架生成的使用Scaffold DbContextyou保存我的daybigint和bit。有时我们也会看到同样的情况。我和你有同样的问题。
csProduct.ProductNo = 0;
csRepository.CSContext.SaveChanges();
var NewID = csProduct.ProductNo;