当查询包含声明的变量时,为什么来自实体框架的SQL查询在Sql Server Profiler中不可见?

时间:2013-01-16 09:43:34

标签: c# entity-framework sqlprofiler

一段代码:

        using (var dc = new Database())
        {
            var results = from a in dc.Article
                          where a.IdNeswpaper == 12
                          select new
                          {
                              a.Id,                               
                          };
            dataGrid1.ItemsSource = results;
        }

此查询在Sql Profiler中可见,但是:

        int idNews = 12;
        using (var dc = new Database())
        {
            var results = from a in dc.Article
                          where a.IdNeswpaper == idNews
                          select new
                          {
                              a.Id,                               
                          };
            dataGrid1.ItemsSource = results;
        }

不可见,两者都正确完成并显示数据。 为什么第二个查询在Sql Profiler中不可见? 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不想告诉你,但你必须看起来更好。查询就在那里。也许你把它过滤掉了?

重点是 - 没有提交SQL文本,无法通过连接从数据库中提取数据。没有。因此,要获取数据,查询必须在那里。