2017-09-19 18 views
2

私は以下のコードを持っていて、 'id'列が主キーではないTABLEからすべての行を削除したいと思います。プライマリキーのない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:これは、実テーブルにプライマリキーを設定しません。

関連する問題