選択クエリを使用しない LINQ による直接更新の実行
LINQ では、遅延実行を利用することで、データベース操作をより効率的に行うことができます。特に、データを明示的に取得するために SELECT ステートメントを必要としない直接更新がサポートされています。
これを実現するために、LINQ はエンティティ オブジェクトに加えた変更のみに基づいて更新コマンドを生成できます。次の例を考えてみましょう。
using System; using System.Linq; using System.Data.Linq; namespace LinqUpdateDemo { class Program { static void Main(string[] args) { // Create a DataContext DataContext dc = new DataContext(); // Attach an entity to the DataContext Foo foo = new Foo { FooId = 1 }; dc.Foos.Attach(foo); // Modify the entity foo.Name = "Updated Name"; // Submit the changes without a SELECT query dc.SubmitChanges(); } } public class Foo { public int FooId { get; set; } public string Name { get; set; } } }
この例では、LINQ 式は、SELECT クエリを実行せずに、データベースに直接更新コマンドを生成します。これは、
SubmitChanges() を呼び出すと、LINQ は foo オブジェクトへの変更に基づいて SQL UPDATE コマンドを生成します。
UPDATE Foos SET Name = 'Updated Name' WHERE FooId = 1
LINQ を使用するときは、データの取得に注意してください。と変更は別のステップです。これにより、クライアントへの不必要なデータ転送が回避され、効率的な運用が可能になります。
以上がLINQ は SELECT クエリを使用せずに直接データベース更新を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。