我试图了解数据库访问模型在 asp.net mvc 中的工作原理,一些示例在控制器中工作,但其他示例在模型中。
我想知道如何使用 ado.net,最佳实践是在模型层中使用一个类并尝试在那里访问我的数据库?
所有示例都使用 EF 和 LINQ,我想知道使用 ado.net 的最佳方法。
数据库访问是在模型还是控制器中?
我试图了解数据库访问模型在 asp.net mvc 中的工作原理,一些示例在控制器中工作,但其他示例在模型中。
我想知道如何使用 ado.net,最佳实践是在模型层中使用一个类并尝试在那里访问我的数据库?
所有示例都使用 EF 和 LINQ,我想知道使用 ado.net 的最佳方法。
数据库访问是在模型还是控制器中?
这是一个需要考虑的建筑设计:
该网站引用了 Models 和 DataAccess 项目。DataAccess 项目还引用了 Models 项目。
这样,数据访问代码是分开的。它更容易找到和维护。它可以用于另一种解决方案。您甚至可以将其换成完全不同的数据访问层——例如,从 Linq 切换到 SQL 到 Entity Framework 或经典 ADO.Net。
通过将模型保存在单独的项目中,网站和数据访问层都可以引用它们。此外,Models 项目可以用于其他解决方案,就像松散耦合的数据访问层一样。
以这种方式分离层也可以更容易地添加测试。如果数据访问层/存储库利用接口和依赖注入,这将变得更容易。
数据库访问应在控制器中完成。我不确定您具体看到了哪些 EF 示例,但在许多 EF 实体中,模型本身就是模型(这通常是开始使用网站的一种快速简便的方法,但不适用于大型网站)。基本上,控制器负责获取/生成模型,然后将其传递给视图。