从另一个表

时间:2017-01-24 21:49:02

标签: c# asp.net-mvc entity-framework linq-to-entities

我有个人资料表中的ID列表。在配置文件表中,我有一个返回ASPNetUser表的引用,该表保存每个用户的电子邮件地址,我需要从配置文件表中获取我有id的用户的每个电子邮件地址。我正在寻找一个简单的查询。

所以我有一个列表,如果来自配置文件表(1,2,3,4,5)

的ID

YogaProfile与ref回到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()

1 个答案:

答案 0 :(得分: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();