有在MS SQL数据库表中的int
ID列,但实体类包含一个long
ID字段,以及我的背景下,得到以下信息:实体框架:如何将Int64字段映射到Int32数据库列?
“,而读取数据库值中出现的异常。期望的 类型为'System.Int64',但实际值为 'System.Int32'。“
我已经尝试设置列类型:
modelBuilder.Entity<XXXEntity>()
.Property(b => b.Id)
.HasColumnName("XXXId")
.HasColumnType("int");
,但不起作用。 什么是正确的解决方案?
我不能更改实体类和数据库表。
将long id字段更改为int? – Ppp
我无法改变它 – Aaaaaaaa
强制它通过使用'Convert.ToInt32(myLongIdField)'为int。但是为什么程序不允许你长插入int类型的列是有效的。只有当你确信你的“长”数据不会太大时才使用它。 – Ppp