【发布时间】:2014-08-17 22:09:10
【问题描述】:
编辑,这不是重复的。建议的 SO 链接希望我调用 ToString(),但我正在运行 .COUNT() 并尝试进行大于比较,因此调用 ToString() 不是正确答案。
我正在尝试使用 IF 快捷方式填充变量,但是当我运行它时出现错误
LINQ to Entities 无法识别方法 'System.Guid Parse(System.String)' 方法,并且该方法无法转换为存储表达式。
我运行的代码是
IsAdmin = (db.yaf_prov_RoleMembership
.Where(rm => rm.UserID == UserKey
&& rm.RoleID == Guid.Parse("adsfasd654asdf816asdf"))
.Count() > 0) ? true : false;
如果我拿走Guid.Parse 并进行直接比较,那么我会得到错误
Operator == 不能应用于 System.Guid 和 String 类型的操作数
为了将 GUID 与 LINQ 查询中的字符串进行比较需要做什么?
【问题讨论】:
-
RoleID的类型是什么? -
@Selman22 那是数据库中的 GUID。
-
我看到了这两个帖子,但是如果我看到
ToString(),那么我就无法运行 .Count() 并进行比较。 -
之前执行 guid.parse 并将其存储在变量 adminGuid 中。然后将 Guid 或 Guid.ToString() 与 String.Equals(str1, str2) 进行比较。