我有下表。當我嘗試插入記錄使用LINQ到SQL它工作正常,直到我嘗試插入UserId爲空的記錄。當我嘗試,我得到以下錯誤LINQ to SQL違反UNIQUE KEY約束與NULL列
「唯一鍵約束不能在對象中插入重複鍵」
我只是想插入1條記錄,該表是空的,所以有得天獨厚的肯定沒衝突約束。
CREATE TABLE [dbo].[QuickViewUserModule](
[QuickViewUserModuleId] [int] IDENTITY(1,1) NOT NULL,
[QuickViewModuleId] [int] NOT NULL,
[UserId] [int] NULL,
[SortOrder] [tinyint] NOT NULL,
... More key stuff ...
CONSTRAINT [IX_QuickViewUserModule] UNIQUE NONCLUSTERED (
[UserId] ASC,
[QuickViewModuleId] ASC)
)
您是如何打開日誌記錄LINQ?我只有快遞,所以我沒有SQL分析器。 – Alex 2009-05-28 02:53:31
一個唯一的約束將讓你有一個NULL,但只有一個:http://www.sqlmag.com/Article/ArticleID/25259/sql_server_25259.html在這種情況下,它應該允許多個NULL,但只能在不同的QuickViewModuleId內。 – 2009-05-28 02:53:36