Wie erhält man eine Byte-Array-Länge mit LINQ to Entities?

7

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?

    
E.Vaughan 21.10.2013, 13:45
quelle

2 Antworten

3

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.

    
Roy Dictus 21.10.2013 13:51
quelle

Tags und Links