2017-09-19 40 views
2

我有下面的代碼,我想刪除TABLE'列'id不是主鍵的所有行。LINQ DeleteOnSubmit沒有主鍵

@{ 
using (var db = new DataClassesDataContext()) 
{ 
    var query = db.Table.Where(r => r.id == 2).ToList(); 
    if (query != null) 
    { 
    foreach (var q in query) 
    { 
    db.Table.DeleteOnSubmit(q); 
    } 
    } 
    db.SubmitChanges(); 
}} 

由於該表沒有主鍵列,所以會引發System.InvalidOperationException。

如何在不添加SQL Server數據庫主鍵的情況下做到這一點?

在此先感謝

回答

1

打開LINQ設計器。打開要從中刪除記錄的表的屬性窗口。點擊要刪除的實體中的任何一列,您將看到標有「主鍵」的屬性。將要用作主鍵的列的值更改爲true。

P/S:這不會在您的真實表上設置主鍵。