linq2sqlで部分的な更新が可能ですか?Linq to SQLの部分的な更新?
私は奇妙ではない場合、私は、私は「データベースからフェッチ更新し、それを変更し、」プロセスを少し、うまく無効を見つける
update table set col1 = val1, col2 = val2 where id = @id
ようなSQLを使用する唯一の2つのフィールドを更新する場合。
linq2sqlで部分的な更新が可能ですか?Linq to SQLの部分的な更新?
私は奇妙ではない場合、私は、私は「データベースからフェッチ更新し、それを変更し、」プロセスを少し、うまく無効を見つける
update table set col1 = val1, col2 = val2 where id = @id
ようなSQLを使用する唯一の2つのフィールドを更新する場合。
LINQ(言語統合クエリ)は完全なCRUDではなく照会用です。 LINQ-to-SQLは、一般的なオブジェクトモデルを使用して更新、削除、および作成アクションを処理します。
すでに更新したいオブジェクトのIDを持っているので、我々はLINQ内のエンティティオブジェクト(例えばfrom item in table where id=1 select item
)ことをあなたは持っていると仮定します:これはあなたが持っている一回限りの更新のために働く
myItem.Col1 = "val1";
myItem.Col2 = "val2";
dataContext.SubmitChanges();
変更する特定のレコード。何らかの理由で、あなたは元のエンティティオブジェクトを持っていますが、IDを持っていない、場合
、あなたはDataContextのを経由して、任意のSQLを実行することができます。
dataContext.ExecuteQuery(
"UPDATE table SET col1={0}, col2={1} WHERE ID={3}",
value1,
value2,
id);
はい、あなたは更新文を生成することができますフェッチ行わず:
Foo foo=new Foo { FooId=fooId }; // create obj and set keys
context.Foos.Attach(foo);
foo.Name="test";
context.SubmitChanges();
は、私は感謝、そう思っhttps://stackoverflow.com/a/3351534/52817
を参照してください。 – Vnuk