怎么查看linq产生的sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查看linq产生的sql语句相关的知识,希望对你有一定的参考价值。

参考技术A 最近在使用Linq To SQL的时候,为了了解不同Linq语句对性能造成的不同影响,需要获得Linq To SQL输出SQL语句。
如果是在桌面程序中,只需要
_context.Log = Console.Out; 即可Linq To SQL输出SQL语句。追问

不是桌面,是web,怎么弄,
写个日志吗? 怎么写,流不怎么会写

追答

参考下贴:
http://edu.codepub.com/2009/0724/10809.php

参考技术B class table

public string id


private void Window_Loaded(object sender, RoutedEventArgs e)

List<table> ls = new List<table>();
for (int i = 0; i < 10; i++)
ls.Add(new table );

int pageSize = 3;
int currentPage = 2;

var linq = (from t in ls.ToArray()
where
(from t2 in ls.ToArray() select t2.id).Take(pageSize * (currentPage - 1)).ToArray().Contains(t.id) == false
select t).Take(pageSize);

foreach (var l in linq)
this.Title += l.id + ",";

本回答被提问者采纳
参考技术C 可以用第三方工具LINQPad看到

c# ef框架怎么使用linq语句多表查询?

如题,就是两个表以上的查询,不用sql语句是否能够实现?

参考技术A

    excellentmcoinEntities dbcontext = new excellentmcoinEntities();  

    //实例化viewmodel实体  

    List<userModel> listUser = new List<userModel>();  

    //t_user,t_grade,t_states,t_charcater四张表联查,抽取中其中的字段  

    listUser = (from u in dbcontext.t_user  

    join g in dbcontext.t_grade on u.gradeID equals g.gradeID  

    join s in dbcontext.t_states on u.state equals s.statesID  

    join c in dbcontext.t_character on u.levelID equals c.levelID  

    select new userModel()  

      

    userID=u.userID,  

    userName=u.userName,  

    userGrade=g.userGrade,  

    userStates=s.userSates,  

    userLevel=c.userLevel,  

    totalMcoin=u.totalMcoin  

    ).ToList();  

    return listUser;  

本回答被提问者和网友采纳
参考技术B 两个表以上的查询是什么意思?
Join吗?

以上是关于怎么查看linq产生的sql语句的主要内容,如果未能解决你的问题,请参考以下文章

c# linq 动态多条件查询语句的写法

C# linq 多表in语句查询

查看Linq to Sql生成的sql语句(转)

C#中产生SQL语句的几种方式

linq to sql 查询两者之间的语句怎么写,例如7月份到8月份的数据

Linq 语句换成 sql语句,求高手帮忙