我遇到了LINQ查询问题。这工作完美了一段时间,但我们做了数据库回滚,现在它不起作用。LINQ到SQL - 无法将值分配给类型为
基本上,我将一个新行插入到具有自动生成BigInt PK的表中。但是,当的SubmitChanges叫我得到这个错误:
The null value cannot be assigned to a member with type System.Int64 which is a non-nullable value type
我看了生成的SQL,这个问题似乎插入后可能围绕arond这样的:
SELECT CONVERT(BigInt, SCOPE_IDENTITY()) AS [value]
这似乎是返回null,但我不知道为什么。表和LINQ dmbl都正确设置了自动生成PK的。
任何想法?
编辑:一些调试,包括SQL手动试图插入有人好心建议,我偶然发现了一个很奇怪的问题绊倒后 -
“列或表达式‘杰出’不能更新”
杰出是一个不可空的十进制(9,2)字段
如果您在SubmitChanges调用中设置断点,记录是否会以正确的自动增量ID值插入数据库? – 2011-06-02 09:31:15
不,该ID设置为“0” – Chris 2011-06-02 09:33:00
好吧,如果你打开你的DBML文件,问题右键点击属性(即:ID列那产生一个0,然后单击“Peroperties ..。然后检查属性“自动生成值”设置为True? – 2011-06-02 09:37:01