gpt4 book ai didi

c# - 为什么大多数 ASP.NET MVC 示例直接在表示层访问数据库?

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:36 25 4
gpt4 key购买 nike

我找到的大多数(几乎所有?)关于如何设置 ASP.NET MVC 项目的示例都直接在 Controller 中访问数据库上下文。

this例如:

public class MoviesController : Controller
{
private MovieDBContext db = new MovieDBContext();

//
// GET: /Movies/

public ViewResult Index()
{
return View(db.Movies.ToList());
}

我也知道有很多控件(至少对于aspx View 引擎来说)可以直接绑定(bind)到数据库中的一个表作为数据源,让它自动显示数据。

对我来说这感觉很奇怪,我希望在表示层和数据库之间有某种分离。在 View 中使用数据之前,将数据从数据库映射到 View 模型的某种业务层和/或数据层。是只有我一个人,还是所有的例子都是这样,因为它更容易做?我缺少一些很大的收获吗?我想它快了一点,但感觉我不应该在我的数据库中使用与我的 View 中相同的模型。我终于找到了an example感觉更正确,数据库模型与 View 模型分开。但这是一百个例子中的一个。

你对此有何看法?

最佳答案

我理解你的担忧,因为我也有同样的担忧。很遗憾,大多数示例都没有使用 View 模型。正因为如此,当人们开始实现与那些文章中看到的最琐碎的示例不同的真实应用程序时,他们会遇到很多困难。

就直接从 Controller 访问数据库而言,我认为这不是什么大问题。如果您不需要它们并且它们不会为您的应用程序带来任何额外值(value),那么您真的不需要实现很多抽象层。吉米·博加德 (Jimmy Bogard) 写了一篇 excellent blog post关于限制抽象的主题。

关于c# - 为什么大多数 ASP.NET MVC 示例直接在表示层访问数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12598064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com