Maison >développement back-end >C++ >Comment convertir INT en chaîne en linq en requêtes entités?
Lorsque vous essayez de convertir un entier en une chaîne dans la requête LINQ en entités, une erreur peut être rencontrée. Ce problème est principalement dû au fait que la conversion de type implicite n'est pas prise en charge.
dans le premier fragment de code:
Le compilateur invitera une erreur car il ne peut pas convertir le ControlId entier caché en valeur de chaîne.
<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 () a explicitement converti un entier en une chaîne en linq en entités à échouer:
Solution:
<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>
Afin de résoudre ce problème, vous pouvez utiliser les fonctions sqlfunctions.stringConvert dans EF v4. Cependant, comme il n'y a pas de charge entier, vous pouvez d'abord le convertir en un numéro de point flottant à double provision ou un numéro décimal:
Cette méthode convertit avec succès l'entier contalide en une chaîne et vous permet de continuer la requête Linq en entités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!