我可能正在尝试在这里做一些不可能的事情。SingleOrDefault
是否可以在我正在构建的表达式的可枚举方法中注入一些逻辑。
交易是我将有 (2) 相同的查询结果,除了用于提取结果的参数。
交易是ID
和ID2
价值观并非在所有条件下都存在。我正在尝试创建一个表达式,该表达式将根据条件缩小结果。这是我要完成的工作:
//'ID' and 'ID2' sre parameters passed into method
var query = Repository.GetQuery<Person>()
.Include(x => x.PersonDetail)
.SingleOrDefault(
if (String.IsNullOrWhiteSpace(ID))
{
x => x.PersonDetail.ID2 == ID2;
}
else
{
x => x.PersonDetail.ID == ID;
}
);
现在它不会构建并产生以下错误:
无法解析符号 PersonDetail
好的,所以我可能已经完全解释了实现,但基本上我可以做我上面尝试过的事情,还是我必须编写(2)提取相同数据的单独查询,并将“决定逻辑”保留在外部表达?
任何帮助表示赞赏,谢谢!