Che*_*sea 12 c# sql t-sql linq linq-to-sql
我对Linq To SQL相当新,但是尝试运行应该是一个相当简单的SQL查询,并且无法弄清楚如何使它在LINQ中发挥出色.
SELECT Users.Id, Users.Id AS Expr1, Users.FirstName, Users.LastName,
User_x_Territory.UserID
FROM Users LEFT OUTER JOIN
User_x_Territory ON User_x_Territory.UserID = Users.Id
GROUP BY Users.Id, Users.Id, Users.FirstName, Users.LastName, User_x_Territory.UserID
HAVING (COUNT(User_x_Territory.UserID) = 0)
Run Code Online (Sandbox Code Playgroud)
只是试图让所有没有分配区域的用户,判断他们是否有领土的唯一方法是检查user_x_territory gerrund.
我可以通过以下方式将所有用户从我的数据库中删除:
var users = from u in db.Users
join uXt in db.User_x_Territories on u equals uXt.User into gerr
from users in gerr.DefaultIfEmpty()
select users;
Run Code Online (Sandbox Code Playgroud)
但是从那里我无法弄清楚如何通过/必须优化搜索结果来添加组以仅显示没有区域的用户.
谢谢你的帮助.
Dan*_*ner 13
我建议以下解决方案.
db.Users.Where(u => u.User_x_Territories.Count == 0)
Run Code Online (Sandbox Code Playgroud)