LINQ присоединиться в лучшем виде без кратного предложения от - PullRequest
0 голосов
/ 29 декабря 2010

Я новичок в LINQ. Это мой Linq Query Here

var users = from UserTbl in entity.User
            from grpTbl in entity.Group
            from role in entity.Role
            where grpTbl.groupID == UserTbl.groupID&& UserTbl.userID==role.userID 
            select new Contract.User()
            {
                UserId = UserTbl.userID,
                UserName = UserTbl.userName,
                FirstName = UserTbl.firstName,
                LastName = UserTbl.lastName,
                GroupId = grpTbl.groupID,
                GroupName =grpTbl.groupName,
                DesignationID = role.roleID    
            };

Как мне лучше написать этот запрос?

1 Ответ

3 голосов
/ 29 декабря 2010

это довольно хорошо. но я предпочитаю joins, потому что они позволяют удалить "совпадающие" выражения из предложения where, так что там остается только "истинная" фильтрация.

var users = from UserTbl in entity.User
            join grpTbl in entity.Group on grpTbl.groupID equals groupId            
            join role in entity.Role on UserTbl.userID equals role.userID 
            select new Contract.User()
            {
                UserId = UserTbl.userID,
                UserName = UserTbl.userName,
                FirstName = UserTbl.firstName,
                LastName = UserTbl.lastName,
                GroupId = grpTbl.groupID,
                GroupName =grpTbl.groupName,
                DesignationID = role.roleID    
            };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...