为什么当查询包含声明的变量时,实体框架的SQL查询在SQL Server分析器中不可见

本文关键字:SQL 查询 分析器 Server 实体 声明 包含 变量 为什么 框架 | 更新日期: 2023-09-27 17:53:27

代码段:

        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中不可见?什么好主意吗?

为什么当查询包含声明的变量时,实体框架的SQL查询在SQL Server分析器中不可见

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

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