组合查询

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. zookeeper适用场景:zookeeper解决了哪些问题

    问题导读:1.master挂机,传统做法备份必然是以前数据,该如何保证挂机数据与备份数据一致?2.分布式系统如何实现对同一资源的访问,保证数据的强一致性?3.集群中的worker挂了,传统做法是什么? ...

  2. uva 1606 amphiphilic carbon molecules【把缩写写出来,有惊喜】(滑动窗口)——yhx

    Shanghai Hypercomputers, the world's largest computer chip manufacturer, has invented a new classof ...

  3. 孙鑫视频学习:对第10章设置线宽时为什么不调用UpDateData(TRUE)的理解

    在第10章10.2.1小节中,首先分别对视图类和对话框类添加了一个名为m_nLineWidth的int型变量,再将用户在CSetting dlg对话框的edit控件中输入的线宽值记录在dlg.m_nL ...

  4. codeforces 712B B. Memory and Trident(水题)

    题目链接: B. Memory and Trident time limit per test 2 seconds memory limit per test 256 megabytes input ...

  5. 原创翻译-值得关注的10个python语言博客

    原文链接 原文链接的网页感觉网络不是很好,不容易上.我在这里就给大家做个翻译吧. 大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建 ...

  6. 如何为自己的项目在pycharm中设置debug?

    比方说我们的某一个项目运行需要走这个指令: (MyObject)blaxon@debian:~/Desktop/checkmato$ python checkmato/nose_plugin/plug ...

  7. (转)priority_queue的用法

    priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式.先写一个用 STL 里面堆算法实现的与真正的 ...

  8. ArcGis实现添加MultiLayerMarkerSymbol(多个符号叠加生成新的符号)

    , , );             pMarkerSymbol.Angle = ;             pMarkerSymbol.XOffset = ;;;;, , );            ...

  9. Python快速教程 尾声(转)

    原文地址: http://www.cnblogs.com/vamei/p/3603046.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留 ...

  10. EF code First数据迁移学习笔记(转)

    转自:http://www.cnblogs.com/icyJ/p/migration.html 准备工作 1.新建一个控制台项目, 在"程序包管理控制台"执行 Install-pa ...