Ich habe eine Tabelle in der Datenbank, dass es einen Spaltennamen hat. Ich muss den Namen aller Elemente ändern, wenn ich die Tabelle vor dem Anzeigen in Grid gelesen habe. Ich muss diese LINQ-Klausel verwendenVerwenden Sie die Funktion indexOf() in LINQ in vb.net oder C#?
Dim hospitalList = From l In db_Obj.VWrmz_HospitalCorrection
Select hospitalName = l.HOSPITAL_NAME.Substring(0,l.HOSPITAL_NAME.IndexOf("--"))
, wenn ich über Code verwende ich diese Fehlermeldung:
LINQ to Entities erkennt nicht die Methode ' Int32 IndexOf (System.String, System. StringComparison) ' Methode, und diese Methode kann nicht in einen Store-Ausdruck übersetzt werden.
aber wenn ich entfernen IndexOf()
seine Arbeit richtig:
Dim hospitalList = From l In db_Obj.VWrmz_HospitalCorrection
Select hospitalName = l.HOSPITAL_NAME.Substring(10)
Wie kann ich entfernen etwas tun aus meiner Zellen so?
Wenn die Zeichenfolge "-" nicht gefunden wird, geben Sie eine -1 zurück. So erhalten Sie dann Substring (0, -1), die die Fehlermeldung verursacht. – jdweng
@jdweng - Dies ist zwar ein Problem, es ist jedoch nicht die Ursache des Fehlers. Die Ursache des Fehlers liegt in der Tatsache, dass die Entity Framework-Engine nicht weiß, wie man 'IndexOf' in einen SQL-Ausdruck übersetzt. –