J'ai posé une question MS SQL à laquelle on a répondu>here <. Ceci est une question de suivi. En substance, c'est la même chose sauf que la base de données MySQL n'est pas MS SQL et que l'objet de la requête LINQ est un view
et non une table.suite à: Chaîne Linq C# comparer avec indexDe
Ma question concerne maintenant les requêtes EF aux bases de données MySQL. Je fais une requête très similaire mais le backend est une base de données MySQL view
au lieu d'une table. Je suis en train d'utiliser exactement la même construction utilisé pour la table MS SQL et ai:
from myView in db.companySessions
where myView.machine.ToUpper().Substring(0,
(int) SqlFunctions.CharIndex(myView.machine, "."))
.Equals(machine.ToUpper().Substring(0,
(int) SqlFunctions.CharIndex(machine.ToUpper(), ".")))
db.companySessions
points une vue dans une base de données MySQL. machine
est une chaîne transmise et validée par la méthode. Je reçois l'exception:
LINQ to Entities does not recognize the method 'Int32 IndexOf(System.String,
System.StringComparison)' method, and this method cannot be translated into
a store expression.
Est-ce parce que je suis dans un view
atteins ou à atteindre MySQL?
Si vous utilisez .net base Je parie que c'est à cause de MySQL. – Nikolaus