我有一个表用户。用户具有列评级。如何使用linq2sql获取有关用户位置的信息?我想要的方法如下:
var userPlace = GetUserPlaceById(用户id);
表用户可能包含数千名用户。
对不起伙计们。用户DOESNT包含位置列。真实的例子:评级是国际象棋评级。如果你有高评价,那么你在第一名。如果你的评分较低,那么你就在最后一个位置。
答案 0 :(得分:3)
你的意思是这样吗?
int userRating = users.Single(user => user.Id = userId).Rating;
int userPlace = users.Where(user => user.Rating < userRating).Count() + 1;
答案 1 :(得分:1)
我有一个表用户。用户具有列评级。如何使用linq2sql获取有关用户位置的信息?
我不确定“userPlace”是什么,但假设它是该表中的一列......
var userPlace = (from user in db.Users
where user.Id == userId
select user)
.First()
.UserPlace;
请注意,如果找不到匹配项,调用.First()将抛出异常,因此如果您希望有时此用户不存在,请使用FirstOrDefault,检查null,然后获取UserPlace属性。
答案 2 :(得分:0)
你会使用类似的东西:
string GetUserPlaceById(int userId)
{
IQueryable<User> users = GetUsers(); // Get users queryable reference
return users.Single(user => user.Id == userId).Place;
}
答案 3 :(得分:0)
你可以这样做:
var userPlace = _db.Users.Where(x => x.UserId == userId).Select(x => x.Place).SingleOrDefault();