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

posted @ 2018-04-24 09:18  Ace001  阅读(1034)  评论(1编辑  收藏  举报