【发布时间】:2012-08-19 20:57:27
【问题描述】:
我正在尝试在我的数据库中查找用户,搜索电子邮件和电话号码。 但是,如果我使用 List 或 IEnumerable 我会得到一个空引用异常。如果我不使用其中任何一个,则会抛出“不支持 SQL ...”。
我的方法:
public List<tblMember> getAllMembers()
{
return db.tblMembers.ToList();
}
private void confirmMembership(string email, int phoneNumber)
{
//var allMembers = db.tblMembers.AsEnumerable(); throws same exception
tblMember member = getAllMembers().FirstOrDefault(x => x.email.Equals(email, StringComparison.OrdinalIgnoreCase) && x.phoneNumber == phoneNumber); //This line throws exception, around email.Equals()
if (member != null)
{
member.isConfirmed = true;
db.SubmitChanges();
}
else
throw new Exception("Member not found");
}
如果我这样执行搜索,不会抛出异常:
private void confirmMembership(string email, int phoneNumber)
{
//var allMembers = db.tblMembers.AsEnumerable(); throws same exception
tblMember member = getAllMembers().FirstOrDefault(x => x.email == email && x.phoneNumber == phoneNumber);
if (member != null)
{
member.isConfirmed = true;
db.SubmitChanges();
}
else
throw new Exception("Member not found");
}
这怎么可能?
【问题讨论】:
标签: c# linq linq-to-sql compare