ホームページ >データベース >mysql チュートリアル >SELECT ステートメントを使用せずに LINQ で直接 SQL 更新を実行する方法

SELECT ステートメントを使用せずに LINQ で直接 SQL 更新を実行する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-26 19:52:10413ブラウズ

How to Perform Direct SQL Updates in LINQ without Using SELECT Statements?

Select を使用しない LINQ によるダイレクト SQL 更新

LINQ では、select ステートメントを使用せずに SQL 更新コマンドを生成でき、ダイレクトを有効にしますデータベースの更新。

これを実現するには、次を利用します。アプローチ:

  1. オブジェクトを作成し、その主要なプロパティを設定します:

    Foo foo=new Foo { FooId=fooId };
  2. オブジェクトをアタッチしますにcontext:

    context.Foos.Attach(foo);
  3. 必要に応じてオブジェクトのプロパティを更新します:

    foo.Name="test";
  4. に変更を送信します。データベース:

    context.SubmitChanges();

デフォルトでは、LINQ-to-SQL は "UpdateCheck" を使用してオブジェクト プロパティの変更を追跡します。すべてのプロパティでこれを "Never" に設定すると、LINQ は変更を検出するために選択クエリを実行しなくなります。代わりに、直接更新ステートメントを生成します。

null 許容プロパティを更新するには、プロパティの null 以外の値でオブジェクトを初期化し、それを null に設定して更新をトリガーします。

追加, 更新中にタイムスタンプを確認するには、データベース モデル (dbml) で "Modified" プロパティを "UpdateCheck=Always" に設定します。これにより、LINQ はオブジェクトが最後の取得以降に変更されたかどうかを確認できます。

以上がSELECT ステートメントを使用せずに LINQ で直接 SQL 更新を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。