我想使用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列表所示。
答案 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();