我有一個LINQ to SQL類「VoucherRecord」基於一個簡單的表。一個屬性「Note」是一個字符串,表示一個nvarchar(255)列,該列不可空,並且具有空字符串('')的默認值。LINQ to SQL字符串屬性從非空列與默認
如果我實例化一個VoucherRecord,Note屬性的初始值爲null。如果我使用一個DataContext的InsertOnSubmit方法添加它,我得到一個SQL的錯誤信息:
無法將值
NULL
插入'Note'
列,表'foo.bar.tblVoucher'
;列不允許有空值。INSERT
失敗。
爲什麼數據庫默認不踢?無論如何,什麼樣的查詢可以繞過默認值?我如何查看爲此操作生成的sql?
感謝您的幫助!
我明白你的意思了。但是如果我將Note列設置爲AutoGenerated = true,則無法設置其值,這很糟糕。我得到了'VoucherRecord'類型的對象的成員'Note'的值改變了的錯誤,由數據庫計算或生成的成員不能被改變。「 – 2010-03-13 17:59:19
如果我只將AutoSync設置爲Insert *而不將AutoGenerated設置爲True,則返回原始錯誤消息。哼! – 2010-03-13 18:02:20
@Barry - 你的Linq模型中有Nullable設置爲** false **嗎? – 2010-03-13 18:10:23