我需要编写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语句就能得到相同的结果吗?