我正在编写一个 L2E 查询来比较两个 GUID 值。它根本不允许直接比较,并且 L2E 查询中也不允许使用 .ToString() 方法。我们如何实现这一点?
问问题
8849 次
2 回答
15
我不知道这是否适用于您的情况,但我发现我可以在 Linq 中使用 Guid.CompareTo 方法,并将其正确转换为 SQL。
documentQuery.Where(s => s.DocumentGuid.CompareTo(MyGuidVariable) > 0);
这将产生以下 SQL:
AND ([Extent1].[DocumentGuid] > @p__linq__1)
于 2015-06-25T12:44:07.620 回答
-1
您需要比较两个 GUID 参数的字符串表示
string var1=Convert.ToString(GuidParam1);
string var2=Convert.ToString(GuidParam2)
然后比较那些字符串值
if(var1.CompareTo(var2)==0)
于 2013-01-02T05:01:00.600 回答