我不知道这是否是正确的方法,但是我加入了三个表 获取以下选择新信息。我看到了信息,但每条记录都显示了多次示例:
var q = from u in entities.problems
join c in entities.my_aspnet_users
on u.user_id equals c.id into resultQuery
from r in resultQuery
join p in entities.problem_history
on r.id equals p.user_id
orderby u.problem_reported_datetime ascending
select new {
r.name, u.problem_description,
u.problem_reported_datetime, p.problem_status_code
};
我做错了什么以及如何解决这个问题
这不是你做错了什么;而是你做错了什么。您可以在末尾添加 .Distinct() 方法调用,但根本问题是问题状态代码字段;同一条记录有两个不同的值。 因此,您需要弄清楚如何显示这些状态...您可以显示第一个状态,连接它们等等。
您可以在 LINQ 中通过将结果分组在一起来实现这一点,或者使用 let 语句执行子查询来获取相关的问题状态代码。