Rumah > pembangunan bahagian belakang > C++ > Kenapa linq saya ke entiti entiti membuang 'entiti tidak boleh dibina dalam linq ke entiti entiti'?

Kenapa linq saya ke entiti entiti membuang 'entiti tidak boleh dibina dalam linq ke entiti entiti'?

Barbara Streisand
Lepaskan: 2025-02-01 14:46:11
asal
367 orang telah melayarinya

Why Does My LINQ to Entities Query Throw

linq ke entiti entiti entiti: "Tidak dapat membina entiti di linq ke entiti entiti"

Apabila menggunakan kerangka entiti, pastikan anda menyemak keabnormalan yang mungkin berlaku semasa proses pelaksanaan. Kesalahan biasa ialah "membina entiti di Linq ke pertanyaan entiti", ralat ini berlaku apabila cuba memproyeksikan hasil pertanyaan kepada entiti periferal.

Alasan untuk ralat

dalam serpihan kod yang diberikan, pertanyaan:

Cuba untuk memproyeksikan hasil pertanyaan pada contoh baru entiti produk. Walau bagaimanapun, di Linq ke entiti entiti, entiti tidak boleh dibina atau dibina semula, kerana objek objek diuruskan oleh ORM.

<code class="language-csharp">from p in db.Products
where p.CategoryID == categoryID
select new Product { Name = p.Name };</code>
Salin selepas log masuk
Penyelesaian: Gunakan Jenis Anonymous atau DTO

Untuk mengatasi kesilapan ini dan lakukan pilihan yang disesuaikan, anda boleh menggunakan jenis tanpa nama atau objek penghantaran data (DTO). Jenis Anonymous adalah jenis penamaan sementara yang dapat menyimpan satu set atribut, sementara DTO adalah kelas tersuai yang menunjukkan objek domain tertentu. Buat DTO

Dalam contoh ini, kerana anda hanya memerlukan atribut nama, anda boleh membuat DTO dengan cara berikut:

Ubah suai pertanyaan untuk diproyeksikan ke DTO

dengan DTO, kini anda boleh mengubah suai pertanyaan untuk memproyeksikannya pada DTO:
<code class="language-csharp">public class ProductDTO
{
    public string Name { get; set; }
}</code>
Salin selepas log masuk

melalui unjuran ke DTO, anda boleh berjaya mendapatkan data dan mengelakkan entiti "membina entiti di linq ke entiti entiti" ralat.

Atas ialah kandungan terperinci Kenapa linq saya ke entiti entiti membuang 'entiti tidak boleh dibina dalam linq ke entiti entiti'?. 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