C# 具有不同标准的Linq
我是这样搜索的,但根本无法得到这个结果(我可能使用了不正确的关键字) 我有多个简单的Linq表达式:C# 具有不同标准的Linq,c#,linq,C#,Linq,我是这样搜索的,但根本无法得到这个结果(我可能使用了不正确的关键字) 我有多个简单的Linq表达式: var items = ErrorList.Where(n => n.CompanyID == SelectedItem.CompanyID); var items = ErrorList.Where(n => n.CompanyID == SelectedItem.CompanyID && n.TaxCode == SelectedItem.TaxCode); 依
var items = ErrorList.Where(n => n.CompanyID == SelectedItem.CompanyID);
var items = ErrorList.Where(n => n.CompanyID == SelectedItem.CompanyID && n.TaxCode == SelectedItem.TaxCode);
依此类推(此linq语句中添加了更多条件)
我希望能够一次性指定我的函数,并根据指定的条件检索项,而不是当前的方法(使用多个if语句)。我以前没有这样做过,但我相信应该是这样的
private System.Collections.IEnumerable Result(Func<>)
我想你应该读一下。这将使您能够通过查询获取、获取许多选项,而QueryOverIt并不真正清楚您要的是什么。你谈论你的“当前方法”,但实际上没有告诉我们那是什么。也许这样做是个好主意。@Mohit:NHibernate和LINQ有什么关系?是什么让你认为OP使用的是NHibernate?当NHibernate使用例如SQL Server和实体框架时,他们将如何解决OP的问题?我们是否确定我们正确地理解了这个问题?我过去一直在寻找答案,我认为这是不可能的,有一些方法可以帮助你实现特定的目标,看看这个例子-@Robert J.:1。回复:“此linq语句中添加了更多条件”。了解如何添加更多条件是很重要的。条件是否会有所不同,例如是否由用户提供?或者您只是为了简洁而简化了代码示例,但查询的属性总是相同的?2.了解数据源是什么也可能变得相关(
ErrorList
)。这是内存中的集合,还是查询数据库?
switch (sCase)
{
case 1:
sResult = (n => n.CompanyID == SelectedItem.CompanyID);
break;
case 2:
sResult = (n => n.CompanyID == SelectedItem.CompanyID && n.TaxCode == SelectedItem.TaxCode);
break;
}
var items = ErrorList.Where(sResult);