我有一个字节数组,我需要与SQL列比较,时间戳,也是一个字节数组。 它是我需要在之前或之后获取所有记录的时间戳。
我正在使用EF,并试图让它在LINQ查询中工作。
byte[] myArray = repo.GetTimeStampByDate(DateTime.Now);
rec.sometable.Where(o => o.timestamp <= myArray).ToList();
答案 0 :(得分:0)
最简单的方法是将两个字节数组转换为UInt64值,然后进行比较。
或者,您可以创建自定义方法来比较时间戳数组:
// assuming both arrays are of equal lengths
public static int Compare(byte[] ts1, byte[] ts2)
{
int i = 0;
while (i < ts1.Length)
{
if (ts1[i] > ts2[i])
return 1;
else if (ts1[i] < ts2[i])
return -1;
++i;
}
return 0;
}
然后
byte[] myArray = repo.GetTimeStampByDate(DateTime.Now);
rec.sometable.Where(o => Compare(o.timestamp, myArray) <= 0).ToList();