组合查询

protected void Button1_Click(object sender, EventArgs e)
{
//默认查询所有,返回的是Table类型,转换成IQueryAble类型。
var query1 = this._Contex.car.AsQueryable();
var query2 = this._Contex.car.AsQueryable();
var query3 = this._Contex.car.AsQueryable();
//进一步判断查询,根据输入框的输入情况进一步完善查询
if (TextBox1.Text.Trim().Length > 0)
{
//因为最后要取三个查询的交集,如果文本框中填写了内容,根据填写内容进一步查询结果,
//并将原来的查询结果覆盖,如果文本框没有内容,保留原来的结果
//(保留原来结果的原因是,如果不保留,最后取交集,不会有结果)
query1 = query1.Where(r => r.name.Contains(TextBox1.Text));
}
if (DropDownList1.SelectedValue != "-1")
{
//因为最后要取三个查询的交集,如果下拉列表进行了选择,根据选择内容进一步查询结果,
//并将原来的查询结果覆盖,如果下拉框没有选择,保留原来的结果
//(保留原来结果的原因是,如果不保留,最后取交集,不会有结果)
query2 = query2.Where(r => r.brand == DropDownList1.SelectedValue);
}
if (TextBox2.Text.Trim().Length > 0)
{
//因为最后要取三个查询的交集,如果文本框中填写了内容,根据填写内容进一步查询结果,
//并将原来的查询结果覆盖,如果文本框没有内容,保留原来的结果
//(保留原来结果的原因是,如果不保留,最后取交集,不会有结果)
query3 = query3.Where(r => r.oil == Convert.ToDecimal(TextBox2.Text));
}
var query = query1.Intersect(query2).Intersect(query3);//取三个查询结果的交集
//指定数据源
Repeater1.DataSource = query;
//绑定数据
Repeater1.DataBind();
}

WebForm之Linq组合查询的更多相关文章

  1. SqlProfilter监控指定数据库数据表——监控linq组合查询生成的sql

    1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... u ...

  2. webform 分页、组合查询综合使用

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  3. webform:分页组合查询

    一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...

  4. WebForm 分页与组合查询

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  5. Linq组合查询与分页组合查询结合

    1.组合查询 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox& ...

  6. WebForm 分页、组合查询--2017年1月5日

    sql = "select * from Commodity"; hs = new Hashtable(); if (txt_name.Text.Trim() != "& ...

  7. LinQ 组合查询与分页

    1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...

  8. 多条件动态LINQ 组合查询

    本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html 参考:http://dotnet.9sssd.c ...

  9. linq组合查询时属性扩展问题

    学习linq的过程中,做一个表格的条件查询并且分页显示.显示的出的数据需要经过属性拓展来实现将需要给用户看的值显示出来. 后台绑定数据时用的是上下文---- if(!ispostback){ usin ...

随机推荐

  1. shell script 学习笔记-----标准输出

    1.将标准输出(stdout)和标准错误输出(stderr)分别重定向到两个不同的文件 其中符号'>'默认将标准输出重定向,意思和'1>'相同,‘2>'表示重定向标准错误输出,数字1 ...

  2. 【读书笔记《Android游戏编程之从零开始》】3.Android 游戏开发常用的系统控件(Button、Layout、ImageButton)

    3.1 Button Button这控件不用多说,就是一个按钮,主要是点击后进行相应事件的响应. 给组件添加ID属性:定义格式为 android:id="@+id/name",这里 ...

  3. 如何利用python模仿浏览器进行网页爬取?

    http://wwwsearch.sourceforge.net/mechanize/ http://www.ibm.com/developerworks/cn/linux/l-python-mech ...

  4. 第25章 SEH结构化异常处理_未处理异常及向量化异常

    25.1 UnhandledExceptionFilter函数详解 25.1.1 BaseProcessStart伪代码(Kernel32内部) void BaseProcessStart(PVOID ...

  5. Linux搭建python环境中cx_Oracle模块安装遇到的问题与解决方法

    安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.11.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免 ...

  6. 分层开发MySchool总结

    由于分层之间存在各层之间的关系窗体之间的方法跳转,故有需要者可以进行下载本地文件 MySchool.rar 3304KB 5/22/2016 9:43:28 AM ,代码中有注释,

  7. UITableViewCell动态AutoLayout布局

    相关链接: 使用Autolayout实现UITableView的Cell动态布局和高度动态改变 IOS tableView cell动态高度 (autoLayout) AutoLayoutClub 使 ...

  8. Android 界面排版的5种方式

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对 ...

  9. 25Mybatis_查询缓存的基本知识

    mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级和二级缓存的示意图:

  10. 10SpringMvc_springmvc快速入门小案例(注解版本)

    第一步:新建案例工程: