2017-10-14 1 views
0

Ich machte Mapping mit Platzhaltern. Ich erhalte diesen Fehler, weil die Definition der zu durchsuchenden Regel nur aus einer Tabelle stammt.Methode '{0}' hat keine unterstützte Übersetzung zu SQL

Ich weiß nicht genau, wie richtig ich das hier mache, aber als Ergebnis habe ich einen Fehler und ich erwarte deine Hilfe.

Antwort

0

Sie können nur unterstützte Funktionen in dbcontext-Abfragen über IQuerable verwenden. Sie haben zwei Optionen 1. Fire Db-Abfrage durch Ausführen von ToList() oder ToArray() und dann .FirstOrDefault (.....) Dies hat einen Nachteil, dass es alle Datensätze aus db abrufen und dann Ihre Funktion anwenden wird zu Ergebnissen.

  1. Konvertieren Sie Ihre Filterfunktion in eine einfache sql-unterstützte Funktion. Soweit ich weiß, Regex ist nicht im Entity Framework unterstützt
+0

Ja, tut es nicht. Wie kann ich Änderungen vornehmen? – KdrGny

0
public string muhKod { 
     get 
     { 
      var firstOrDefault = kg.kuralTanimlari.ToList() 
       .FirstOrDefault(a => Regex.IsMatch(Açıklama, WildCardToRegular(a.kural))); 
      if (firstOrDefault != null) 
       kod = firstOrDefault.hesapKodu; 
      return kod; 
     } 
     set => kod = value; 
    } 

Es funktioniert so schön. Vielen Dank.

Verwandte Themen