linq to sql中,如何解决多条件查询问题,答案,用表达
在最近的一个小项目中,我接触到了Linq to SQL,于是我开始面临如何进行有效的多条件组合查询的问题。虽然我对表达式树的知识知之甚少,但面对这样的需求,我决定还是硬着头皮去研究一下。
对于数据量较小的项目,这个策略是非常实用的。对于大数据量的处理,我们会在后续的文章中进行。毫无疑问,我首先在网上搜索了关于Linq多条件组合查询的相关资料,了解了个大概之后,我就开始动手实践了。
我决定创建一个委托的方法来实现这个查询逻辑。具体的代码如下:
```csharp
private bool GetCondition(FeedBack fb)
{
bool boolResult = true;
int f_type = Int32.Parse(ddlFType.SelectedValue);
int isClose = Int32.Parse(ddlIsClose.SelectedValue);
int isTrue = Int32.Parse(ddlIsTrue.SelectedValue);
string keyword = tbxKeyword.Text.FilterInjectStr();
if (f_type != 0)
{
boolResult &= fb.F_Type == f_type;
}
if (isClose != -1)
{
boolResult &= fb.IsClose == isClose;
}
if (isTrue != -1)
{
boolResult &= fb.IsTrue == isTrue;
}
if (!keyword.IsNullOrEmpty())
{
boolResult &= fb.ContentInfo.IndexOf(keyword) > -1;
}
return boolResult;
}
```
因为当前还在测试阶段,所以我将所有的方法都放在了当前页面中。这个方法中的逻辑可以根据实际需要进行调整。在这里,我举的例子是一个留言板列表的查询。对于如何在页面中使用这个方法,如果你的列表是通过repeater控件绑定的,那么可以这样调用:
```csharp
private void ListDataBind()
{
Expression
List
FeedbackList.DataSource = pageData;
FeedbackList.DataBind();
}
```
注意,FeedBack是我使用的Linq to SQL数据源表的对象的名称。在搜索答案的过程中,我发现有些网站提供的答案存在错误,例如将`Expression
编程语言
- linq to sql中,如何解决多条件查询问题,答案,用表达
- ckeditor插件开发简单实例
- php输出含有“#”字符串的方法
- 移动端点击图片放大特效PhotoSwipe.js插件实现
- 对Angular中单向数据流的深入理解
- 老生常谈 js中this的指向
- 用JavaScript实现让浏览器停止载入页面的方法
- JavaScript中Object值合并方法详解
- Mysql利用group by分组排序
- nodejs实现邮件发送服务实例分享
- 如何解决hover在ie6中的兼容性问题
- vue cli使用绝对路径引用图片问题的解决
- javascript显示倒计时控制按钮的简单实现
- vue脚手架搭建项目的兼容性配置详解
- 基于vue-cli创建的项目的目录结构及说明介绍
- 对象失去焦点时自己动提交数据的实现代码