如何编写在网格视图中显示用户名而不是userID的linq查询。
var q = from u in entities.problems
join a in entities.my_aspnet_membership on u.user_id equals a.userId
join c in entities.my_aspnet_users on a.userId equals c.id
where c.id == a.userId
select new { u.problem_id, c.name, u.problem_description, u.problem_reported_datetime, u.problem_history};
我正在寻找的是在网站上登录时只看到他们提交的问题。
答案 0 :(得分:2)
仅绑定显示结果所需的列。关闭AutoGeneratedColumns
并添加BoundField
列。
答案 1 :(得分:1)
您的查询存在以下几个问题:
where c.id == a.userId
)没有意义。例如,
var q = from u in entities.problems
join c in entities.my_aspnet_users on u.user_id equals c.id
select new {
u.problem_id, c.name, u.problem_description,
u.problem_reported_datetime, u.problem_history
};
这将为您提供所有问题以及用户名 - 将网格列与"name"
列绑定。
如果您只想为登录用户列出问题,则必须添加where u.user_id = currentUserId
部分,其中currentUserId
变量将保存登录用户的值。