LINQ to SQL动态查询概括
创始人
2024-06-07 13:11:52
0

LINQ to SQL有很多值得学习的地方,这里我们主要介绍LINQ to SQL动态查询,包括介绍LINQ to SQL功能和调试特定等方面

LINQ to SQL动态查询

使用LINQ to SQL动态查询,这个例子用CreateQuery()方法创建一个IQueryable类型表达式输出查询的语句。

这里给个例子说明一下:

  1. var c1 = Expression.Parameter(typeof(Customer), "c");  
  2. PropertyInfo City = typeof(Customer).GetProperty("City");  
  3.  
  4. var pred = Expression.Lambda, bool>>(  
  5. Expression.Equal(  
  6. Expression.Property(c1, City),  
  7. Expression.Constant("Seattle")  
  8.  ), c1  
  9. );  
  10. IQueryable custs = db.Customers;  
  11. Expression expr = Expression.Call(typeof(Queryable), "Where",  
  12. new Type[] { custs.ElementType }, custs.Expression, pred);  
  13. IQueryable q = db.Customers.AsQueryable().  
  14. Provider.CreateQuery(expr); 

Log属性用于将SQL查询或命令打印到TextReader。此方法对了解 LINQ to SQL功能和调试特定的问题可能很有用。

下面的示例使用Log属性在SQL代码执行前在控制台窗口中显示此代码。我们可以将此属性与查询、插入、更新和删除命令一起使用。

  1. //关闭日志功能  
  2. //db.Log = null;  
  3. //使用日志功能:日志输出到控制台窗口  
  4. db.Log = Console.Out;  
  5. var q = from c in db.Customers  
  6. where c.City == "London"  
  7. select c;  
  8. //日志输出到文件  
  9. StreamWriter sw = new StreamWriter(Server.MapPath("log.txt"), true);  
  10. db.Log = sw;  
  11. var q = from c in db.Customers  
  12. where c.City == "London"  
  13. select c;  
  14. sw.Close(); 

【编辑推荐】

  1. Linq匿名类型简单概述
  2. Linq随机读取数据浅析
  3. Linq Lambda表达式全面分析
  4. Linq扩展方法简单分析
  5. 初探Linq局部变量类型

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...