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

Bagaimana cara menukar bilangan bulat ke linq ke entiti?

Susan Sarandon
Susan Sarandonasal
2025-01-25 18:22:10825semak imbas

How to Convert Integers to Strings in LINQ to Entities?

linq ke entiti cabaran rentetan rotor integer

Di Linq ke entiti, pengaturcara mungkin menghadapi kesukaran ketika cuba menukar integer dalam pertanyaan ke rentetan. Penukaran boleh menyebabkan kesilapan, seperti yang ditunjukkan dalam contoh berikut:

Kaedah lain ialah menggunakan kaedah ToString (), yang nampaknya merupakan penyelesaian yang layak:
<code class="language-c#">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId, // 无法隐式转换类型“int”(ContactId)到“string”(Value)。
                Text = c.Name
            };</code>

Walau bagaimanapun, percubaan ini juga akan gagal, kerana Linq kepada entiti tidak menyokong ToString (), yang akan menjana keabnormalan.

<code class="language-c#">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId.ToString(), // 抛出异常:LINQ to Entities 不支持 ToString()。
                Text = c.Name
            };</code>
mengatasi halangan penukaran dalam EF v4

EF V4 menyelesaikan masalah penukaran ini melalui kaedah sqlfunctions.stringconvert. Kaedah ini menyediakan mekanisme yang menukarkan nilai kepada rentetan, tanpa penukaran eksplisit. Kod berikut menunjukkan penggunaannya:

Dengan menukar integer ke ketepatan ganda dalam parameter StringConvert (), integer boleh berjaya diubah menjadi rentetan di Linq ke entiti.

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