根据条件动态拼接LinQ的where条件字串

var items1 = from c in customer
    where c.Id != null && (1 == 1 ? c.FirstName == "AAA" : true) && (1 == 1 ? c.LastName == "BBB" : true)
     select c;

List<Customer> qwe11 = items1.ToList();

如果条件不多,可以直接这样写。

也可以用Lambda:

var items = customer.Where(m => m.Id != null);

if (1 == 1)
items = customer.Where(m => m.FirstName == "Johnny");

if (1 == 1)
items = customer.Where(m => m.LastName == "Doe");
List<Customer> qwe = items.ToList();

注意,这里只会查询一次,不会造成性能浪费。

时间: 2024-11-03 22:19:42

根据条件动态拼接LinQ的where条件字串的相关文章

动态拼接LINQ 查询条件

本文章转载:http://www.cnblogs.com/wangiqngpei557/archive/2013/02/05/2893096.html 参考:http://dotnet.9sssd.com/entfwk/art/960 http://www.cnblogs.com/killuakun/archive/2008/08/03/1259389.html http://www.cnblogs.com/snowdream/archive/2008/07/18/1246308.html 以往

分享动态拼接Expression表达式组件及原理

前言 LINQ大家都知道,用起来也还不错,但有一个问题,当你用Linq进行搜索的时候,你是这样写的 var query = from user in db.Set<User>()                         where user.Username == "xxxx"                         select user; OK,看起来很好,不过····如果你要进行动态搜索的话··呵呵!其实方法还是挺多,只不过绕大弯 动态搜索是什么?顺便

Entity Framework多表多条件动态查询

方式一  Linq To Entity形式: /// <summary> /// 查询的数据 /// </summary> /// <param name="order">升序asc(默认)还是降序desc</param> /// <param name="sort">排序字段</param> /// <param name="search">查询条件</p

简单多条件动态查询的实现

今天公司有个项目需要到多个条件查询的功能,以前两三个条件的时候就用if去判断,草草了事,由于这次有5-9个条件不等的情况下,总不能都用if吧,虽说能实现,不过这代码看上去也太难看,最重要的是没有重用性,也不方便修改,网上找了下,五花八门的,要费时间去理解它,还不如自己封装下,也便于以后的使用: 我前端用的是BUI来设计的,所以条件的传递方式是get/post,所以这个方法是针对“查询条件来自get/post方式的”,如果是用服务器控件传的,这种方式是不适合的哦 好了,首先,为了方便存储每个字段的

C# SQL多条件查询拼接技巧

本文转载:http://blog.csdn.net/limlimlim/article/details/8638080 #region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneNum"); List<string> wheres = new List<string>(); if (cboGroup.SelectedIndex !=

MyBatis中动态SQL语句完成多条件查询

http://blog.csdn.net/yanggaosheng/article/details/46685565 MyBatis中动态SQL语句完成多条件查询 <select id="queryEmp"  resultType="cn.test.entity.Emp"> select * from emp where 1=1 <if test="deptNo!=null"> and deptno=#{deptNO} &

jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件

/** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author bear.LEE <571115139#qq.com> * @@since 2018-08-21 **/ ; (function ($) { $.fn.extend({ addClearBtn: function (options, $o) { var deft = { symbolClass: "f

动态拼接liinq 使用Expression构造动态linq语句

最近在做动态构造linq语句,从网上找了很多,大多数,都是基于一张表中的某一个字段,这样的结果,从网上可以搜到很多.但如果有外键表,需要动态构造外键表中的字段,那么问题来了,学挖掘机哪家强?哦,不是,应该怎么做呢. 关于动态构造linq的,http://www.cnblogs.com/blusehuang/archive/2007/07/13/816970.html   该文章已经描述的很清楚了.我也不多说了. 其中,关键的代码是: Expression con = Expression.Cal

取代DataTable Select方法 并动态拼接Lambda表达式

原来的程序里面,有这样一段代码 var parentFilterString = string.Empty; parentFilterString = exceptList.Aggregate(parentFilterString, (current, id) => current + (" " + parentFieldName + " = '" + id + "' or")); parentFilterString = parentFi