Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menukar int ke rentetan di linq ke pertanyaan entiti?
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!