2011-12-06 48 views
0

任何任何線索爲什麼這兩個不能在組合中工作?msdata:PrimaryKey =「true」和AllowDBNull =「True」

我已經從一個數據庫生成了一個xsd,該數據庫跨多個字段包含主鍵。其中一個字段允許爲空,以便字段可以包含null,只要其餘字段維護該鍵。

問題是當我在XSD中描述這個約束時,primarykey = true trumps allowdbnull和2不能共存。

我有一個數據表已被插入使用其他手段導致我沒有問題的結束,因爲我合併了2個表1其中有這個xsd約束。

任何線索?

+1

什麼數據庫軟件或您使用? SQLServer不允許任何參與主鍵的列變得無效。 – user957902

+0

你可以發佈聲明嗎? –

+0

你是對的。我坐在家裏,這是我的頭。我的意見後,我檢查(對不起),你是正確的PK元素不能有一個空字段,即使它仍然是唯一的。我檢查了數據庫,它不是一個PK,但由於某些原因,VS已經把msdata:primarykey = true放在XSD中的唯一約束上。 –

回答

0

你可能會在MSDN找到一些信息。從XML Schema的角度來看,考慮到您的場景,我會使用xs:unique來代替,因爲它允許使用空值場景;也可以在xsd:keyref中引用xsd:unique約束,就像xsd:keys一樣。