LINQ to entities ne reconnaît pas la méthode " du Système.String ToString(Int32)'
Salut, je suis l'aide d'une requête linq qui est en train de jeter l'erreur de LINQ to entities ne reconnaît pas la méthode " du Système.String ToString(Int32)', et cette méthode ne peut pas être traduit dans un magasin d'expression.
List<string> resultMap = (from item in mapResult
select Convert.ToString(item.ResultDE)).ToList();
Erreur de se lancer dans cette déclaration ci-dessous
List<Result_DE> resultList = (from result in db.Result_DE
where result.IsActive == "1"
&& resultMap.Contains(Convert.ToString(Convert.ToInt32(result.ID)))
select result).ToList();
merci de m'indiquer la bonne façon de l'écriture de cette requête.
J'ai essayé avec la déclaration ci-dessous. Il s'exécute mais ne donne pas de sortie
Vous êtes convertir une chaîne en un entier (int) et le retour à une chaîne de nouveau?
qu'est-ce que l'attribut de résultat.ID
Quel est le type de résultat.ID?
J'ai été la conversion de chaîne de type int et le retour à une chaîne de nouveau, car rien ne fonctionnait, j'ai donc été d'essayer différentes combinaisons
List<Result_DE> resultList = (from result in db.Result_DE where result.IsActive == "1" && resultMap.Contains(SqlFunctions.StringConvert(result.ID)) select result).ToList();
Vous êtes convertir une chaîne en un entier (int) et le retour à une chaîne de nouveau?
qu'est-ce que l'attribut de résultat.ID
Quel est le type de résultat.ID?
J'ai été la conversion de chaîne de type int et le retour à une chaîne de nouveau, car rien ne fonctionnait, j'ai donc été d'essayer différentes combinaisons
OriginalL'auteur user1590948 | 2015-05-14
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser ces fonctions de conversion dans un LINQ to entities déclaration, ils ne peuvent pas être traduite en SQL, vous devez faire les conversions en mémoire. Mais je ne pense pas que vous avez besoin de le faire.
Si vous venez d'utiliser la
resultMap
pour obtenir votreresultList
, filtrée parResults
dont laId
est présent dansmapResult
, procédez de la manière suivante:Si
mapResult
est une collection en mémoire, au lieu d'uneIQueryable
qui est attaché à ladb
contexte, vous devez effectuer les opérations suivantes:Je suis d'accord, va la laisser ainsi.
Merci 🙂 ..
mapResult.Any(mr => mr.ResultDE == r.ID)
travailléOriginalL'auteur Alex
Avant d'appeler une méthode (par ex. ToString()), vous avez besoin de convertir LINQ to Objet à l'aide de AsEnumerable().
OriginalL'auteur Pritam De
si votre
item.ResultDE
etresult.ID
est variable de type Int32,pourquoi ne créer directement un
List<Int32>
?OriginalL'auteur Yu Yenkan
Utilisation SqlFunctions.StringConvert au lieu de les Convertir.ToString.
Une question semblable a été posée et répondue ici
OriginalL'auteur Gabriel Rainha