2

linq で更新ステートメントを記述できますか?

例:

var query = Update customer set isEdit = 1 where id = 1

ありがとう

4

3 に答える 3

5

いいえ、できません。LINQのQはQueryを表します。

できることは次のとおりです。

foreach(var c in customer.Where(x => x.Id == 1))
    c.isEdit = 1;
于 2013-04-22T07:12:13.523 に答える
3

クラスListのForEachメソッドを使用して、「Linq のように見える」クエリを実行することで、更新をショートカットできます。

var toUpdate = customer.Where(c => c.id == 1).ToList();
toUpdate.ForEach(c => c.isEdit = 1);
于 2013-04-22T07:32:42.067 に答える
1

はい、できます。こちらの回答をご覧ください

Foo foo=new Foo { FooId=fooId }; // create obj and set keys
context.Foos.Attach(foo);
foo.Name="test";
context.SubmitChanges();

Dbml で、すべてのプロパティに対して UpdateCheck="Never" を設定します。

これにより、最初に選択を行う必要なく、単一の更新ステートメントが生成されます。

于 2013-04-22T07:28:36.700 に答える