Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menukar bilangan bulat ke linq ke pertanyaan entiti?

Bagaimana cara menukar bilangan bulat ke linq ke pertanyaan entiti?

DDD
DDDasal
2025-01-25 18:37:09604semak imbas

How to Convert Integers to Strings in LINQ to Entities Queries?

linq ke entiti menyiasat perangkap integer yang ditukar menjadi rentetan dalam pertanyaan

di Linq ke entiti, menukar integer ke dalam rentetan mungkin menghadapi cabaran yang tidak dijangka. Ini amat jelas apabila mencuba nilai atribut atribut atribut integer (seperti contaltid) ke objek baru.

kaedah biasa dan batasan mereka

Kaedah pertama, secara langsung menyerahkan c.contactId kepada nilai, akan menyebabkan ralat kepada "mustahil untuk menukar jenis 'int' sebagai 'rentetan'".

Kaedah kedua, menggunakan c.contactId.ToString (), anda akan menghadapi halangan lain: "LINQ ke entiti tidak menyokong ToString". Ini kerana ToString adalah kaedah yang berjalan pada objek CLR, tidak berjalan pada entiti Linq.

penyelesaian elegan menggunakan sqlfunctions

Dalam Rangka Kerja Entiti (EF) 4.0 dan versi yang lebih tinggi, anda boleh menggunakan kaedah SQLFunctions.StringConvert sebagai penyelesaian transformasi. Walau bagaimanapun, kerana tidak ada beban integer, anda mesti menukar integer ke jenis dwi -precision atau perpuluhan:

Penyelesaian ini secara berkesan ditukar kepada rentetan dalam ekspresi Linq, yang membolehkan anda memetakan dengan lancar kontrak ke atribut nilai.

Atas ialah kandungan terperinci Bagaimana cara menukar bilangan bulat ke linq ke pertanyaan entiti?. 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