"File_ID"という列を持つFileテーブルがあるとします。LINQを使用してテーブルの各行の列の値を設定するにはどうすればよいですか?
ファイルテーブルのすべての "File_ID"を "1"に設定するためのクイックLINQクエリ/文を書くにはどうすればよいですか?
私はステートメントモードでLINQPadを使用していますが、それは本当に問題ではありません。
"File_ID"という列を持つFileテーブルがあるとします。LINQを使用してテーブルの各行の列の値を設定するにはどうすればよいですか?
ファイルテーブルのすべての "File_ID"を "1"に設定するためのクイックLINQクエリ/文を書くにはどうすればよいですか?
私はステートメントモードでLINQPadを使用していますが、それは本当に問題ではありません。
LINQは更新するのではなく照会するためのものです。 LINQ to SQL(およびその他のデータソース)モデルでは、Add、Remove、gettersおよびsetters、Update()の従来のオブジェクトモデルを使用して、データセットにチェンジセットをコミットします。
あなたが説明しているのは、単にテーブルコレクション内のすべてのレコードオブジェクトを反復し、プロパティを設定し、Update()
を呼び出すことです。 1つのUPDATE
コマンドでSQLでこれを行う方がはるかに高速で効率的です。
dataContext.ExecuteQuery("update File set File_ID = 1");
ちょっと浮気
using(var ctx = new MyDataContext())
{
foreach(var f in ctx.Files)
{
f.File_ID = 1;
}
ctx.SubmitChanges();
}
を
これはLinq2SQLは最高の状態であるものではありませんが、あなたはこのような何かを試みることができる:
myDataContext.ExecuteQuery("UPDATE [File] SET File_ID = {0}", 1);