Select を使用しない LINQ によるダイレクト SQL 更新
LINQ では、select ステートメントを使用せずに SQL 更新コマンドを生成でき、ダイレクトを有効にしますデータベースの更新。
これを実現するには、次を利用します。アプローチ:
オブジェクトを作成し、その主要なプロパティを設定します:
Foo foo=new Foo { FooId=fooId };
オブジェクトをアタッチしますにcontext:
context.Foos.Attach(foo);
必要に応じてオブジェクトのプロパティを更新します:
foo.Name="test";
に変更を送信します。データベース:
context.SubmitChanges();
デフォルトでは、LINQ-to-SQL は "UpdateCheck" を使用してオブジェクト プロパティの変更を追跡します。すべてのプロパティでこれを "Never" に設定すると、LINQ は変更を検出するために選択クエリを実行しなくなります。代わりに、直接更新ステートメントを生成します。
null 許容プロパティを更新するには、プロパティの null 以外の値でオブジェクトを初期化し、それを null に設定して更新をトリガーします。
追加, 更新中にタイムスタンプを確認するには、データベース モデル (dbml) で "Modified" プロパティを "UpdateCheck=Always" に設定します。これにより、LINQ はオブジェクトが最後の取得以降に変更されたかどうかを確認できます。
以上がSELECT ステートメントを使用せずに LINQ で直接 SQL 更新を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。