4

我正在编写一个 L2E 查询来比较两个 GUID 值。它根本不允许直接比较,并且 L2E 查询中也不允许使用 .ToString() 方法。我们如何实现这一点?

4

2 回答 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 回答