LinqToSql EntityFramework(ef)查看生成的sql语句
1.linqtosql查看sql
var dc=new DBDataContext();
TextWriter tw = new StringWriter();
dc.Log = tw;
var list = dc.News.Skip((page - 1) * limit).Take(limit).ToList();
Utils.Logger.InfoLog("page:"+page+" limit:"+limit+" sql:"+tw);
2.ef查看sql 直接iqueryable.ToString()即是生成的sql
var query=dc.Device.Join(ids, ee => ee.Id, ff => ff, (ee, ff) => ee);
var sql=query.ToString(); //select....
TextWriter tw = new StringWriter();
dc.Database.Log =(log)=> {
var s = log; //每个sql查询都会回调到这里,连打开数据库连接都会进来
};
dc.user.firstordefault();
在调试界面 如果是iqueryable对象 则监视该对象即可看到私有变量sql
BE06A616-4586-4795-8ED0-43BAABC0A07B|From:http://www.cnblogs.com/xuejianxiyang/p/8926210.html
作者:xuejianxiyang
出处:http://xuejianxiyang.cnblogs.com
关于作者:Heaven helps those who help themselves.
本文版权归原作者和博客园共有,欢迎转载,但未经原作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。