EF 4.0 Linq to Enity запрос - PullRequest
       16

EF 4.0 Linq to Enity запрос

0 голосов
/ 15 мая 2011

Привет, ребята, мне нужно повторить этот SQL-запрос в Linq для Entity

  select * from Subscriber a
  inner join User b on a.UserId = b.Id

  where b.Username = 'Name'

Может быть, кто-то может помочь.

1 Ответ

0 голосов
/ 15 мая 2011

Попробуйте:

var query = from s in context.Subscribers.Include("User")
            where s.User.Username == "Name"
            select s;

Предположим, что Subscriber имеет свойство навигации User, ссылающееся на экземпляр пользователя.

Если вы хотите использовать соединение (которое не требуется)Вы можете использовать это для внутреннего соединения:

var query = from s in context.Subscribers
            join u in context.Users on s.User.Id equals u.Id
            where u.Username == "Name"
            select new 
                {
                    Subscriber = s, 
                    User = u
                };

или это для левого внешнего соединения:

var query = from s in context.Subscribers
            join u in context.Users on s.User.Id equals u.Id into x
            where u.Username == "Name"
            from y in x.DefaultIfEmpty()
            select new 
                {
                    Subscriber = s 
                    User = y,
                };
...