在开发中我们常需要使用动态的条件来组合查询,scotte博客里提到了MS提供的一个动态查询类库Basic Dynamic LINQ C# Sample,这个可以给我们提供不少方便,但是给的示例实在太简单,实际当中我们很多不能像他这样用。

首先引入DynamicLibrary.cs,下面是我使用过程中的一些运行正确的用法(里面使用返回DataSet是因为对旧程序升级),我觉得写法很怪异,但是的确这样是正确的。

调用

最终生成的SQL语句

SELECT COUNT(*) AS [value]
FROM [dbo].[News] AS [t0]
WHERE ([t0].[NewsIsDeleted] IS NULL) AND ([t0].[NewsIsDisplay] = 1) 
AND ([t0].[Newslanguages] = @p0) AND ([t0].[NewsIsHome] = 1) AND ([t0].[NewsIsTop] = 1)
-- @p0: Input NVarChar (Size = 8; Prec = 0; Scale = 0) [engbtest]
-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.21022.8 

另外分享一个query to datareader的方法,有了datareader可以生成datatable,dataset等:

注:不知各位有没有更好的办法?

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/04/01/1132918.html如需转载请自行联系原作者

王德水

Linq to SQL Dynamic 动态查询相关推荐

  1. SQL Server动态查询每天八点到第二天八点的数据

    大于如下时间 select (case when DateName(hour,GETDATE()) < 8 then CONVERT(varchar(10),dateadd(dd,-1,GETD ...

  2. Linq to sql 实现多条件的动态查询(方法一)

    多条件动态查询在开发中太常见了,使用sql语句拼接很容易实现,但是在使用linq 的时候我却觉得很麻烦,思来想去,其实不然,linq 实现多条件动态查询一样可以变的很简单.话不多说,直接上例子,供大家 ...

  3. linq to sql 多条件组合查询

    linq to sql 我这里查询tbdesk表内的记录 DeskTypeID和Name是条件     private void bind()     {         using (cpDataC ...

  4. 转载:LINQ to SQL更新数据库操作

    翻译整理ScottGu的关于LINQ to SQL的Part 4: Updating our Database .该Post讲解了如何使用LINQ to SQL更新数据库,以及如何整合业务逻辑和自定义 ...

  5. [译]LINT TO SQL 介绍(数据库查询) - Part.3

     PDF版浏览:http://files.cnblogs.com/JimmyZhang/Linq-To-Sql-Part_3-Querying-our-Database.pdf 出处:Linq To ...

  6. 【转】 LINQ TO SQL中的selectMany

    首先看SelectMany的定义: Queryable中的SelectMany 方法:将序列的每个元素投影到一个 IEnumerable<(Of <(T>)>) 并将结果序列组 ...

  7. 手把手教你用好LINQ to SQL(1)

    From: http://developer.51cto.com/art/200904/120915.htm 作者写下这篇文章的主要目的不是"一口吃成个胖子"让大家一次就学会LIN ...

  8. LINQ to SQL之Step by Step及新手问题小结

    前言 最近接连遇到几个朋友问我同一个问题,就是关于.NET平台上ORM框架的选择.我想在这个讲求效率的时代,谁也不想手写SQL或存储过程去访问数据库了.大家都知道,在Java平台上,ORM这一块基本是 ...

  9. LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据

    LINQ和 LINQ to SQL 都已经不是一个新事物了,但是我接触的比较晚,本着绝知此事要躬行的态度,决定写这个系列. 本文使用的测试环境是VS 2010,和sql server 2005数据库. ...

最新文章

  1. Appium学习笔记2_Android获取元素篇
  2. 【2-SAT问题】解题报告:POJ 3678 Katu Puzzle(2-SAT问题的判定)
  3. mysql-proxy安装包_Mysql-proxy安装
  4. 直流电机基本系统模型
  5. linux 网络 read,Linux read命令的使用
  6. python判断字符大小写转换_Python 字符串大小写转换的简单实例
  7. Java夺命21连问!(附答案)
  8. 堆的应用--并查集解决“擒贼先擒王”问题(JAVA)
  9. “落花有意随流水,流水无情恋落花。”出处
  10. Spring Boot 2.2 正式发布,大幅性能提升 Java 13 支持 | CSDN 博文精选
  11. matlab2c使用c++实现matlab函数系列教程-factorial函数
  12. 网络显示dns服务器错误,电脑出现网络dns异常是怎么回事
  13. 定义一个 Room 类,包含成员变量面积和高度,以及内部类 Table 和 Chair
  14. 瀑布模型,迭代模型,敏捷开发
  15. 学会这个2021不一样的感觉学Java性能之 垃圾收集算法
  16. 英语语法总结--主谓一致
  17. android扫雷需求分析,Android扫雷游戏实现
  18. 用for循环输出俄文的“字母表”
  19. 动力节点『lol版』Java学习路线图(八)Java选学技术
  20. keras:神经网络的中间层输出

热门文章

  1. JMeter学习笔记--JMeter常用测试元件
  2. MPMoviePlayerController 电影播放器
  3. [转]asp.net文件下载方法...
  4. Windowsw核心编程 第13章 Windows内存结构
  5. UVA11019KMP(二维矩阵匹配出现次数)
  6. hdu3182 状态压缩dp
  7. 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 )
  8. 【Linux 内核】Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )
  9. 【IOC 控制反转】IOC 简介 ( 依赖注入的两种实现方式 | 编译期注入 | 运行期注入 )
  10. 【Android 应用开发】动态权限管理示例 ( 使用原生代码实现 | 申请权限 | 判定权限申请结果 | 判定 “ 不再询问 “ 情况 )