Dans Linq en entités, la conversion d'un entier en chaîne peut rencontrer des défis inattendus. Cela est particulièrement évident lorsque vous essayez la valeur d'attribut de chaîne des attributs entiers (tels que contaltid) vers le nouvel objet.
Méthodes courantes et leurs limites
La première méthode, attribuant directement C.Contactid à la valeur, entraînera une erreur "impossible pour convertir le type 'int' as 'string'".
La deuxième méthode, en utilisant C.Contactid.ToString (), vous rencontrerez un autre obstacle: "Linq aux entités ne prend pas en charge le tostring". En effet, TOSTRING est une méthode qui s'exécute sur l'objet CLR, sans s'exécuter sur l'entité LINQ.
Dans Entity Framework (EF) 4.0 et des versions supérieures, vous pouvez utiliser la méthode sqlfunctions.stringConvert comme solution de transformation. Cependant, comme il n'y a pas de charge entier, vous devez convertir un entier en un type à double provision ou décimal:
Cette solution est effectivement convertie en une chaîne dans l'expression LINQ, vous permettant de cartographier de manière transparente le contratId à l'attribut de valeur.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!