过滤行的SUPER SIMPLE LINQ不起作用

时间:2015-02-27 21:54:55

标签: linq iqueryable

花了大约4个小时试图解决这个问题但没有成功。

IQueryable<userTOM> Infolist =  userTOMs();
        var rbtUserId = Infolist.Where(x => x.UserName == FormsUserName);

userTOMs&lt; - 不存在。 多次重命名命名空间但不会出现。

1 个答案:

答案 0 :(得分:0)

IQueryable不会立即在数据库上运行。要运行查询,必须在IQueryable上运行.ToList().Count()等函数。

因此,粘贴代码中的任何内容都不会触发数据库请求,也不会检索ID。我会修改你的请求:

IQueryable<userTOM> Infolist =  userTOMs();
userTOM rbtUser = Infolist.FirstOrDefault(x => x.UserName == FormsUserName);

Guid rbtUserId; //assuming this will be populated with a Guid value
if (rbtUser != null) {
    rbtUserId = rbtUser.Id; //assuming "ID" is the property name
}