我需要有关LinqToSql中关系表(一对多)上的动态where子句的帮助。
用户从页面选择条件。 (用户选择条款有4个输入)
例如,Customer表中的CompanyName和CompanyTitle以及Order表中的OrderDate和ShipCity。
但是用户可以从页面界面中选择一个或多个,然后在代码隐藏处生成动态查询,然后选择From LinqToSql。
您可以在另一个网页上提供类似类型的示例。
最佳答案
您是否正在寻找类似的东西,在哪里定义“基本”查询,然后评估参数以确定where子句是否合适?
var result = (from x in context.X
select x);
if(some condition)
{
result = result.AsQueryable().Where(x => x.companyName == name);
}
if(some other condition)
{
result = result.AsQueryable().Where(x => x.companyTitle == title);
}
//return result.ToList();
//return result.FirstOrDefault();
//return result.Count(); //etc
我在您的一条评论中注意到您提到您的表没有外键联接吗?我不确定在没有某种参照完整性或关联性的情况下如何获得一对多关系?
关于.net - 使用LINQ to SQL的关系表上的动态Where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/697345/