2017-01-24 3 views
-1

У меня есть список идентификаторов из таблицы профилей. В таблице профиля у меня есть ссылка на таблицу ASPNetUser, которая содержит адреса электронной почты для каждого пользователя, и мне нужно получить каждый адрес электронной почты для пользователей, у которых есть идентификатор из таблицы профилей. Я ищу легкий запрос для этого.Получение списка писем из таблицы ASPNetUser с данным идентификатором из другой таблицы

Так у меня есть список, если идентификаторы из таблицы профиля (1,2,3,4,5)

YogaProfile с реф назад AspNetUser стол

public class Profile 
{ 

    [Key] 
    public int YogaProfileId { get; set; } 

    [Column(TypeName = "VARCHAR")] 
    [StringLength(36)] 
    [Index] 
    public string ApplicationUserGuid { get; set; } 
} 

Я пытаюсь сделать что-то вроде этого соединения, но не знает, как включить список

List<string> emails = from s in dbContext.YogaProfiles 
            join c in dbContext.Users 
            on s.ApplicationUserGuid equals c.Id 
            where s.YogaProfileId in (List of ids here) 
            select c.Email).ToList() 

ответ

2

Вы можете использовать метод Contains.

var ids = new List<int> { 1,2 }; 
List<string> emails = (from s in dbContext.YogaProfiles 
            join c in dbContext.Users 
            on s.ApplicationUserGuid equals c.Id 
            where ids.Contains(s.YogaProfileId) 
            select c.Email).ToList();