Ich habe eine Document-Klasse, die die Daten dieses Dokuments als Byte-Array speichert. Ich muss die Größe des Arrays mithilfe von LINQ to Entities überprüfen.
Ich habe Folgendes versucht:
%Vor%Das Problem ist, dass ich die folgende Ausnahme bekomme:
Der LINQ-Ausdrucksknotentyp 'ArrayLength' wird in LINQ to Entities nicht unterstützt. "
Gibt es eine andere Möglichkeit, die Größe des Byte-Arrays zu überprüfen?
Verwenden Sie SqlFunctions.DataLength Method (Byte[])
, um die Länge zu vergleichen.
Siehe: Linq2EF-Fallstricke: Die Verwendung der Length-Eigenschaft verursacht System.NotSupportedException
Ihre LINQ to Entities-Abfrage wird in SQL übersetzt, sofern dies möglich ist. Da der Übersetzer Array.Length keiner SQL-Methode zuordnet, können Sie ihn nicht in LINQ to Entities-Abfragen verwenden.
Sie können Ihrer Tabelle eine Spalte hinzufügen ODER ein VIEW
erstellen, das die Länge berechnet und sie als Spalte verfügbar macht. Dann können Sie gegen dieses Feld abfragen und es wird funktionieren.
Tags und Links arrays c# linq linq-to-entities