ホームページ > データベース > mysql チュートリアル > LINQ は最初にデータを選択せず​​に直接 SQL 更新を実行できますか?

LINQ は最初にデータを選択せず​​に直接 SQL 更新を実行できますか?

Patricia Arquette
リリース: 2024-12-25 05:26:17
オリジナル
916 人が閲覧しました

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Select を使用しない LINQ による直接更新

SQL を直接処理する場合、select ステートメントを実行せずに、条件付きの更新コマンドを生成できます。 LINQ の一般的なパターンには、エンティティの選択、変更、変更の送信が含まれます。ただし、LINQ を使用して直接更新を実行し、データをクライアントに送信せずに遅延実行することは可能ですか?

提供された LINQ クエリは直接更新を実行しようとしていますが、これには select 句が含まれています。 LINQ には更新コマンドの生成に必要な情報がすべて含まれていますが、LINQ には "set" キーワードに相当するものはありません。

解決策:

次を使用して直接更新ステートメントを作成します。 LINQ-to-SQL:

  1. オブジェクトを作成し、そのキーを設定しますプロパティ:
Foo foo = new Foo { FooId = fooId };
ログイン後にコピー
  1. オブジェクトをコンテキストにアタッチします:
context.Foos.Attach(foo);
ログイン後にコピー
  1. 更新するプロパティを設定します:
foo.Name = "test";
ログイン後にコピー
  1. 送信変更:
context.SubmitChanges();
ログイン後にコピー

注:

  • Dbml 内のすべてのプロパティの UpdateCheck プロパティが "Never" に設定されていることを確認してください。
  • プロパティを null に設定するには、オブジェクトを null 以外の値で初期化します (例: Name="###").
  • 更新中にタイムスタンプをチェックするには、Dbml の Modified プロパティの UpdateCheck プロパティを「Always」に設定します。

以上がLINQ は最初にデータを選択せず​​に直接 SQL 更新を実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート