根据使用linq的条件选择

时间:2013-11-15 07:16:37

标签: c# linq

我想使用linq列出选择查询。

暂停代码userDtls中的

是一个列表& Common.UserRightVal是枚举变量

userDtls = _userService.GetById(id);
var permission = from udtls in userDtls[0].userRightList 
where udtls.object_name == "Person" && 
(udtls.user_right   == (int)Common.UserRightVal.update
|| udtls.user_right == (int)Common.UserRightVal.add_update_delete_read 
|| udtls.user_right == (int) Common.UserRightVal.allRight)select udtls;

这里我想查看用户的权限详细信息。我的问题是,如果'where'条件变为false,那么权限变量也会显示默认记录,如userDtls列表所示。

1 个答案:

答案 0 :(得分:0)

感谢每一个人的回复。我得到了答案,就是这样。

 var permission=(dynamic) null;
 permission = (from udtls in userDtls[0].userRightList
               where udtls.object_name.Contains(objectType) &&
               (udtls.user_right == (int)Common.UserRightVal.readAll
               || udtls.user_right == (int)Common.UserRightVal.read_readAll 
               || udtls.user_right == (int)Common.UserRightVal.add_update_delete_read
               || udtls.user_right == (int)Common.UserRightVal.allRight)
               select udtls).FirstOrDefault();