由于我是MVC的新手,我对数据库连接有一些疑问。
我正在尝试构建一个MVC应用程序,到目前为止我构建了2层: Model (我的类没有任何功能)和 Business (那里)是我的类的功能,每个类都有自己的Business类),还有我的MVC应用程序。这两个层都与MVC项目分开,我将它们用作“.dll-s”。我也使用存储库模式,依赖注入由Unity完成。
现在是棘手的部分(或者至少对我而言)。我想将我的应用程序绑定到数据库。我发现的大多数教程都依赖于实体框架,但我不想使用它,我想使用ADO.NET(实体框架让我感觉我正在放弃我的“力量”,所以我想管理我自己的SQL)。那么最好的方法是什么?如何从外部访问Web.Config并读取连接字符串(或者我应该处理数据访问层内的连接字符串)?有没有最佳实践如何从“外部”管理连接?我的意思是我可以轻松地在我的MVC应用程序中创建一个dbaccess对象,但我不希望这样。在MVC应用程序中,我只想使用我的业务(对象)类。
还有一件事。 DataAccess的最佳实践是什么:构建新层,还是将业务层中的功能包含在内?我更倾向于构建第三层,因此我可以将此代码重用于任何其他应用程序,但也许还有其他一些方法。
答案 0 :(得分:1)
您可以创建另一个名为“DAL”的项目来处理使用纯ADO.NET构建的数据访问层。您将添加对实体项目的引用,以便您可以从数据访问方法返回这些实体。现在,从您的业务层添加对数据访问项目的引用,以便您可以从业务层类访问这些数据访问方法。从MVC项目中,添加对Business项目的引用(如果在MVC项目中使用这些实体对象,则为实体项目)。通过这种方式,您的MVC项目无法了解您正在使用的数据访问技术。
您不需要在DAL项目中拥有连接字符串,将其保留在UI MVC项目中,只要您在这些项目之间添加了适当的引用,您的DAL项目就能够读取它。