【问题标题】:Retrieving count of records from SQL table in MVC从 MVC 中的 SQL 表中检索记录数
【发布时间】:2014-11-26 19:56:03
【问题描述】:

我有一段类似于下面代码的 sql,我希望在我的 MVC 站点中执行它并在视图中显示结果:

select top 10 username, count(*)
from databasetable
group by username
order by count(*) desc

我在很多地方都看到 Entity Framework 是执行此操作的最佳方式,但我正在努力启动它以及如何将它集成到我的网站中。有人可以帮我推动正确的方向吗?

谢谢

【问题讨论】:

  • “最佳”是非常主观的,并且取决于 - 除其他因素外 - 您正在尝试做什么,您正在使用什么。例如,您是否从头开始一个项目?使用现有数据库?
  • 它是用于另一个系统的现有数据库,我只想在我自己的站点中对其运行一些查询以进行检查。我正在建立的网站是从零开始的,尽管数据库已经存在了一段时间
  • 如果您使用它作为学习 Linq 的机会,那么您可以使用 LinqToSQL 类,或者如果热衷于使用实体框架,那么数据库优先方法将是一个不错的选择。无论哪种方式,我认为教程将是您的第一步,例如 linqtosqldb-first EF

标签: asp.net-mvc entity-framework asp.net-mvc-4


【解决方案1】:

如果您想直接使用原始 SQL 对数据库运行查询,请查看下面的代码 sn-p。

     using (var context = new YourContext()) 
         { 
             var blogs = context.YourTable.SqlQuery("SELECT * FROM dbo.YourTable").ToList(); 
         }

查看此链接http://msdn.microsoft.com/en-us/data/jj592907.aspx

用您自己的查询替换选择查询。

【讨论】:

  • 我刚刚尝试将示例应用到我的代码中并放入了我的 sql,当我尝试运行它时出现错误提示“数据库'master'中的 CREATE DATABASE 权限被拒绝” .我的查询只选择记录,所以不知道为什么它需要任何创建权限,尤其是在主数据库上
  • 现在整理好了,不知道为什么会显示错误,但是我的数据库连接有问题,我现在已经修复了,一切正常。谢谢
  • 使用实体框架作为另一种工具来执行原始 SQL 并不是我所说的“朝着正确方向推进”。这种推动应该朝着使用 EF 的方向发展。但这个问题太广泛了,无法深入探讨。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
相关资源
最近更新 更多