实体框架选择列表中的所有实体

时间:2018-03-06 12:16:03

标签: c# entity-framework linq

我需要编写LINQ命令来获取此列表中的所有电子邮件ID。

Context.CustomerEmail中的我的实体有字段

public class CustomerEmail
{
    public Guid Id {get; set;}
    public string Email { get; set;}
    // other fields.
}

我已经创建了一个方法来使电子邮件ID等于somethink,如果找不到对象,则返回null,如:

public Guid? GetEmailId(string email)
{
    if (string.IsNullOrEmpty(email)) throw new ArgumentNullException("email");

    var emailInfo = Context.CustomerEmail.FirstOrDefault(x => x.Email == email);

    if (emailInfo == null)
        return null;

    return emailInfo.Id;
}

但现在我想制作一个返回List<Guid?>的方法:

public List<Guid?> GetEmailIds(IEnumerable<string> emails)
{
    return emails.Select(x => GetEmailId(x)).ToList();
}

这个解决方案转换为许多sql stamements,我理解。 只用一个LINQ语句就能得到相同的结果吗?

0 个答案:

没有答案