如果你是用typed dataset 來查join起來多對多的表 你會失敗
會看到無法啟用條件約束。一或多個資料列的值違反非 Null、唯一或外部索引鍵條件約束

即使你的T - SQL完全正確 而且查詢器確實查到資料了 你還是會失敗

經實驗發現因為它自以為是"強"型別 所以每個TableAdapter裡面都必須有主鍵 但是預設建立的TableAdapter如下,只有一把鑰匙

但是因為是join出來的複合表 所以這把假鑰匙自然重複 它便自作聰明的認為違反條件約束

手動以複合鍵來表示該表的唯一值即可 效果如下

沒有留言:
張貼留言