我遇到了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