我正在尝试查找具有或包含某些内容的字段的客户端。如果我硬编码谓词,一切都会正常,但当我传递谓词时,它会抛出一个NullReferenceException。
回购代码:
public IEnumerable<Contractor> Find(Func<Contractor, bool> predicate)
{
var test = db.Contractors.Where(x => x.NIP.Contains("7822574676")).ToList(); //this is correct
try
{
return db.Contractors.Where(predicate).ToList(); // this gives exception
}
catch (Exception ex)
{
return null;
}
}服务代码:
public IEnumerable<ContractorShortDataDTO> FindByNIP(string NIP)
{
try {
return Database.Contractors.Find(x => x.NIP.Contains(NIP)).Select(x =>
new ContractorShortDataDTO()
{
NIP = x.NIP,
CompanyName = x.CompanyName,
ID = x.ID
}).AsEnumerable();
} catch(Exception ex) {
return null;
}
}这段代码有什么问题?
发布于 2019-08-13 23:58:29
将方法中的参数类型从
Func<Contractor, bool> predicate至
Expression<Func<Contractor, bool>> predicatehttps://stackoverflow.com/questions/57481363
复制相似问题