十年河东,十年河西,莫欺少年穷... 今天是抄袭的别人的博客,不过我感觉蛮好,挺有用,特别是老板让你优化EF项目SQL耗时的情况下,你可以采用这种方式来优化你的LINQ. 时间很宝贵,废话还是不多说,直接入主题 MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL(支持EF.EF CodeFirs
1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... using (var db = new YourEntitys()) {//linq组合查询 var query = from a in db.YourTable select a; if (YourTableDto.SystemId>0) { query = query.Where(p=>p.Id
使用Nhibernate开发一般都要对Nhibernate生成的sql语句进行查看及分析,查看Nhibernate生成的sql语句,可以使用NHProfiler和log4net.但NHProfiler是要付费的(当然,在天朝,你懂的……),用log4net配置比较麻烦.今天在网上查看Linq to Nhibernate资料的时候发现了一个工具LinqPad,于是又找了相关资源,发现它还真能实现Nhibenate语句的查看.废话少说,看下面的使用方法吧! 1. 下载LinqPad,地址:http:
一.动态执行SQL PREPARE S1 FROM 'delete from test'; EXECUTE S1; 二.使用游标 DECLARE V_CURSOR CURSOR FOR SELECT DELETESQL,INSERTSQL FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; OPEN V_CURSOR; FETCH V_CURSOR INTO V_DELETESQL,V_INSERTSQL; CLOSE V_CURSOR; 三.WHILE循环 WHILE
在EF 4和EF 3.5 SP1中,我们可以使用ToTraceString()方法得到EF查询所生成的SQL. using (var context = new TestDBEntities()) { var query = from p in context.Parents where p.Name == "zhaokun" select p; ObjectQuery<Parent> parents = query as ObjectQuery<Parent>