Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melakukan Kemas Kini SQL Langsung dalam LINQ tanpa Menggunakan Pernyataan SELECT?

Bagaimana untuk Melakukan Kemas Kini SQL Langsung dalam LINQ tanpa Menggunakan Pernyataan SELECT?

Barbara Streisand
Barbara Streisandasal
2024-12-26 19:52:10489semak imbas

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

Kemas Kini SQL Terus dengan LINQ tanpa Pilih

Dalam LINQ, adalah mungkin untuk menjana perintah kemas kini SQL tanpa menggunakan pernyataan pilih, membolehkan langsung kemas kini pada pangkalan data.

Untuk mencapai matlamat ini, gunakan perkara berikut pendekatan:

  1. Buat objek dan tetapkan sifat utamanya:

    Foo foo=new Foo { FooId=fooId };
  2. Lampirkan objek kepada konteks:

    context.Foos.Attach(foo);
  3. Kemas kini sifat objek seperti yang diperlukan:

    foo.Name="test";
  4. Serahkan perubahan kepada pangkalan data:

    context.SubmitChanges();

Secara lalai, LINQ-to-SQL menggunakan "UpdateCheck" untuk menjejaki perubahan dalam sifat objek. Menetapkannya kepada "Jangan sekali-kali" untuk semua sifat memastikan LINQ tidak akan melakukan sebarang pertanyaan terpilih untuk mengesan perubahan. Sebaliknya, ia menjana pernyataan kemas kini langsung.

Untuk mengemas kini sifat boleh null, mulakan objek dengan nilai bukan nol untuk harta tersebut dan kemudian tetapkannya kepada null untuk mencetuskan kemas kini.

Selain itu , untuk menyemak cap waktu semasa kemas kini, tetapkan sifat "Diubah suai" kepada "UpdateCheck=Sentiasa" dalam model pangkalan data (dbml). Ini membolehkan LINQ mengesahkan sama ada objek telah berubah sejak pengambilan terakhir.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Kemas Kini SQL Langsung dalam LINQ tanpa Menggunakan Pernyataan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn