我在我的代碼優先實體框架的字節數組爲SQL時間戳,映射如下給出:如何在C#或Linq中比較兩個大於或小於運算符值的字節數組?
[Column(TypeName = "timestamp")]
[MaxLength(8)]
[Timestamp]
public byte[] TimeStamps { get; set; }
以上性能是在C#等於SQL服務器「時間戳」數據類型。
在SQL Server中我可以比較 「時間戳」 容易如下...
SELECT * FROM tableName WHERE timestampsColumnName > 0x000000000017C1A2
我想在C#或LINQ查詢來實現同樣的事情。在這裏,我寫了我的Linq查詢,這是不正常工作。
byte[] lastTimeStamp = someByteArrayValue;
lstCostCenter.Where(p => p.TimeStamps > lastTimeStamp);
我還與BitConverter
試圖比較兩個字節數組,也沒有工作...
lstCostCenter.Where(p => BitConverter.ToInt64(p.TimeStamps, 0) > BitConverter.ToInt64(lastTimeStamp, 0));
我如何在C#或LINQ查詢比較字節數組。
注 - 我只是不想比較兩個數組,通常像使用SequenceEqual或任何其他方法,只是比較並返回true或false。我希望在大於>或小於<運算符的Linq查詢中進行比較,該運算符可提供適當的數據,如SQL Server查詢。
你想比較使用數據庫(實體框架,LINQ到SQL等)LINQ查詢,或內存中的LINQ查詢? – Evk
字節如何排列在數組中?最重要的字節在先?如果是這樣,然後嘗試使用'.Reverse()調用輸入到'BitConverter.ToInt64'調用的字節。ToArray()' – slawekwin
@Evk我想要與不在內存中的Database Linq Query進行比較。 – Dilip0165