Vergleich der Zeilenversion im Entity Framework

8

Wie soll ich rowversion Felder mit Entity Framework vergleichen? Ich habe eine Tabelle, die eine rowversion -Spalte hat, ich möchte Daten von Tabellen erhalten, für die die Zeilenversion höher als der angegebene Wert ist.

%Vor%

Diese Zeile funktioniert nicht, es wird ein Fehler ausgegeben:

  

kann nicht auf Operanden vom Typ 'byte []' und 'byte []'

angewendet werden

Irgendeine Idee, wie ich rowversion Felder in c # / EF vergleichen kann?

    
bhavesh lad 02.10.2012, 15:59
quelle

3 Antworten

2

Hier ist, was wir getan haben, um das zu lösen:

Verwenden Sie eine Vergleichserweiterung wie folgt:

%Vor%

Dann können Sie

tun %Vor%

Der Grund, warum dies ohne eine C # -Implementierung funktioniert, liegt darin, dass die Compare-Extension-Methode nie tatsächlich aufgerufen wird und EF LINQ x.compare(y) > 0 down auf x > y

vereinfacht     
Damon Warren 13.03.2017 14:01
quelle
0

Sind Sie sicher, dass RowVersion koscher ist? Was passiert, wenn es rollt?

Ich denke, du musst es zuerst in string oder int konvertieren. zB

%Vor%

Sie können SPs auch über EF aufrufen. : -)

    
phil soady 12.10.2012 15:21
quelle
0

Verwenden Sie EntitySQL.

%Vor%     
Pavel Voronin 15.11.2013 15:29
quelle