Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menukar int ke rentetan di linq ke pertanyaan entiti?

Bagaimana cara menukar int ke rentetan di linq ke pertanyaan entiti?

Linda Hamilton
Linda Hamiltonasal
2025-01-25 18:26:10759semak imbas

How to Convert Int to String in LINQ to Entities Queries?

Di linq ke pertanyaan entiti, integer ditukar kepada rentetan: Penyiasatan dan penyelesaian masalah

Apabila cuba menukar integer ke dalam rentetan dalam linq ke pertanyaan entiti, ralat mungkin ditemui. Masalah ini terutamanya kerana penukaran jenis tersirat tidak disokong.

dalam serpihan kod pertama:

pengkompil akan mendorong ralat kerana ia tidak dapat menukar integer controlId yang tersembunyi ke dalam nilai rentetan.
<code class="language-csharp">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId, //无法将类型“int”(ContactId)隐式转换为类型“string”(Value)。
                Text = c.Name
            };</code>

toString () secara eksplisit menukar integer ke dalam rentetan di linq ke entiti untuk gagal:

Penyelesaian:
<code class="language-csharp">var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId.ToString(), //抛出异常:ToString 在 linq to entities 中不受支持。
                Text = c.Name
            };</code>

Untuk menyelesaikan masalah ini, anda boleh menggunakan fungsi SQLFunctions.StringConvert dalam EF V4. Walau bagaimanapun, kerana tidak ada beban integer, anda boleh menukarnya terlebih dahulu ke nombor titik terapung dua atau nombor perpuluhan:

Kaedah ini berjaya menukar integer contalid ke dalam rentetan dan membolehkan anda meneruskan linq ke entiti entiti.

Atas ialah kandungan terperinci Bagaimana cara menukar int ke rentetan di 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