LINQ to SQL动态查询概括

开发 后端
这里介绍使用LINQ to SQL动态查询,这个例子用CreateQuery()方法创建一个IQueryable<T>类型表达式输出查询的语句。

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

LINQ to SQL动态查询

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

这里给个例子说明一下:

  1. var c1 = Expression.Parameter(typeof(Customer), "c");  
  2. PropertyInfo City = typeof(Customer).GetProperty("City");  
  3.  
  4. var pred = Expression.Lambda<Func<Customer, 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<Customer> q = db.Customers.AsQueryable().  
  14. Provider.CreateQuery<Customer>(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局部变量类型
责任编辑:佚名 来源: IT168
相关推荐

2009-09-16 10:08:06

LINQ查询

2009-09-15 17:07:24

Linq To SQL

2009-09-16 17:33:16

LINQ TO SQL

2009-09-17 16:46:34

Linq to sql

2009-09-15 16:09:12

LINQ进行查询

2009-09-09 15:10:35

LINQ查询句法

2009-09-17 16:20:43

Linq to sql

2009-09-18 14:07:51

LINQ to SQL

2009-09-16 16:52:50

LINQ to XML

2009-09-15 13:59:18

LINQ to Dat

2009-09-16 10:27:35

LINQ Custom

2009-09-15 10:16:01

LINQ动态查询

2009-09-15 09:19:22

linq动态条件

2009-09-15 10:46:04

LINQ to SQL

2009-09-18 14:33:37

LINQ to SQLSQL命令

2009-09-14 16:51:33

LINQ XML树加载

2009-09-16 16:55:07

LINQ to XML

2009-09-14 19:14:51

LINQ动态查询

2009-09-15 09:45:23

Linq动态条件

2009-09-17 17:03:13

LINQ动态查询
点赞
收藏

51CTO技术栈公众号