Rumah > pangkalan data > tutorial mysql > Bolehkah LINQ Melakukan Kemas Kini SQL Terus Tanpa Memilih Data Dahulu?

Bolehkah LINQ Melakukan Kemas Kini SQL Terus Tanpa Memilih Data Dahulu?

Patricia Arquette
Lepaskan: 2024-12-25 05:26:17
asal
925 orang telah melayarinya

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Kemas Kini Terus dengan LINQ tanpa Pilih

Apabila berurusan secara langsung dengan SQL, anda boleh menjana arahan kemas kini dengan bersyarat tanpa menjalankan penyataan pilih. Dalam LINQ, corak biasa melibatkan pemilihan entiti, mengubah suai mereka, dan menyerahkan perubahan. Walau bagaimanapun, adakah mungkin untuk melakukan kemas kini langsung menggunakan LINQ dan pelaksanaan tertunda tanpa menghantar data kepada klien?

Pertanyaan LINQ yang disediakan cuba melakukan kemas kini langsung, tetapi ia termasuk klausa pilih. Walaupun LINQ mempunyai semua maklumat yang diperlukan untuk menjana perintah kemas kini, tiada kata kunci "set" yang setara dalam LINQ.

Penyelesaian:

Untuk mencipta kenyataan kemas kini langsung menggunakan LINQ-to-SQL:

  1. Buat objek dan tetapkan kuncinya sifat:
Foo foo = new Foo { FooId = fooId };
Salin selepas log masuk
  1. Lampirkan objek pada konteks:
context.Foos.Attach(foo);
Salin selepas log masuk
  1. Tetapkan sifat yang ingin anda kemas kini:
foo.Name = "test";
Salin selepas log masuk
  1. Serahkan perubahan:
context.SubmitChanges();
Salin selepas log masuk

Nota:

  • Pastikan sifat UpdateCheck untuk semua sifat dalam Dbml anda ditetapkan kepada "Jangan sekali-kali."
  • Untuk menetapkan sifat kepada null, mulakan objek dengan nilai bukan null (cth., Name="###").
  • Untuk menyemak cap waktu semasa mengemas kini, tetapkan sifat UpdateCheck bagi sifat Ubah Suai dalam Dbml anda kepada "Sentiasa."

Atas ialah kandungan terperinci Bolehkah LINQ Melakukan Kemas Kini SQL Terus Tanpa Memilih Data Dahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan