Howto:简单地将SQL Server数据库读入MVC 4视图?

car*_*ac7 3 asp.net-mvc razor asp.net-mvc-4 asp.net-4.5

我对MVC比较陌生.我试图只在页面上显示远程SQL Server表的内容.它是READ ONLY,我在网上找到的几乎所有内容都是利用实体框架或类似的东西,这对我所追求的东西来说太过分了.我只需要将表中的所有行打印到视图中.

所以我的问题是:

  1. 我应该只是将sqlconn和所有内容都破解到我希望数据打印出来的视图中吗?
  2. 或者我应该在该视图的控制器中添加sql?
  3. 创建一个模型,然后以某种方式将数据恢复到视图中?

我知道第3步是"正确"的方法,但我正在寻找简单快捷的方法.:)

感谢大家!

McG*_*gle 5

你说EF太过分了,但这是最简单的方法.也许使用Linq to SQL,因为它更轻量级.这就是它的全部内容:

  1. 生成EF/L2S实体类
  2. 在控制器中实例化数据库上下文,并获取所有记录
  3. 将IEnumerable记录返回到视图
  4. 在视图中,使用 @Html.DisplayForModel()

这是一个简单的例子.请注意,返回数据库实体类被认为是不好的做法,您应该首先将它们映射/自动化为View Model类型.

家庭控制器

public ActionResult Index()
{
    MyEntityModel[] items = MyDatabaseContext.GetAllRows();
    return View(items);
}
Run Code Online (Sandbox Code Playgroud)

主页/索引视图

@model IEnumerable<MyEntityModel>

@foreach (MyEntityModel item in Model)
{
    @Html.DisplayFor(m => item)
}
Run Code Online (Sandbox Code Playgroud)

没有EF/L2S,它几乎一样容易,但您必须为数据库记录创建自己的实体/包装类并手动填充它们.

还有用于MVC的脚手架项目,它们将生成存储库和控制器类,以及Razor视图.参见例如NuGet上的MVC Scaffolding.

  • http://www.toptensoftware.com/petapoco/是我最喜欢的数据访问CRUD框架 (2认同)