Ich verwende diesen Code:Wie kann ich eine Datenbank mit LINQ abfragen, wenn die Spalte eine Zahl ist, aber ich habe eine Zeichenfolge in der WHERE?
query = String.IsNullOrEmpty(options.PhraseNum) ?
query :
query.Where(w => w.PhraseNum == Convert.ToInt32(options.PhraseNum));
Allerdings bekomme ich einen Fehler:
LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression.
Gibt es eine Weise, die ich dies in LINQ tun können, und wenn nicht, wie kann ich außerhalb dieses konvertieren und haben Die Konvertierung verursacht keine Ausnahme, wenn die Zeichenfolge nicht null ist?
Konvertieren Sie einfach die Zeichenfolge in int außerhalb der Abfrage selbst. – Evk
Gibt es eine Möglichkeit, dies auch dann zu tun, wenn die Zeichenfolge null ist? Ich möchte eine Ausnahme vermeiden. – Alan2
'Convert.ToInt32 (string)' löst keine Ausnahme aus, wenn die Zeichenfolge null ist. Es gibt 0. https://msdn.microsoft.com/en-us/library/sf1aw27b(v=vs.110).aspx –