2014-07-20 63 views
1

由於我是MVC的新手,我對數據庫連接有幾個疑問。ASP.NET MVC數據庫訪問層

我想建立一個MVC應用程序,到目前爲止,我還建2層:型號(在我的課是,沒有任何功能)和業務(有我的類的功能,每一個類有它自己的業務類),也有我的MVC應用程序。這兩個層都與MVC項目分開,我將它們用作「.dll-s」。我也在使用存儲庫模式,而依賴注入是由Unity完成的。

現在來棘手的部分(或至少它是我的)。我想將我的應用程序綁定到數據庫。我發現的大多數教程都依賴於Entity Framework,但我不想使用它,我想使用ADO.NET(實體框架讓我覺得我正在給予我的「權力」,所以我想管理我自己的SQL)。那麼最好的辦法是什麼?我如何從外部訪問Web.Config並讀取連接字符串(或者我應該照顧數據訪問層內的連接字符串)?如何從「外部」管理連接有什麼最佳做法?我的意思是我可以輕鬆地在MVC應用程序中創建一個dbaccess對象,但我不想那樣做。在MVC應用程序中,我只想使用我的業務(對象)類。

還有一件事。 DataAccess的最佳實踐是什麼:構建一個新層,還是在我的業務層中包含功能也很好?我更傾向於構建第三層,因此我可以將此代碼用於任何其他應用程序,但也許還有其他一些方法。

回答

1

您可以創建另一個名爲「DAL」的項目來處理使用純ADO.NET構建的數據訪問層。您將添加對實體項目的引用,以便您可以從您的數據訪問方法中返回這些實體。現在從業務層向數據訪問項目添加引用,以便您可以從業務層類訪問這些數據訪問方法。從您的MVC項目中,添加對您的業務項目的引用(如果您在MVC項目中使用這些實體對象,則實體項目)。通過這種方式,您的MVC項目不知道您使用的是什麼數據訪問技術。

您不需要在DAL項目中擁有連接字符串,只要在這些項目之間添加了適當的引用,就將其保留在您的UI MVC項目中,並且您的DAL項目將能夠讀取它。

+0

嗨,這是我想到的東西;)但是,因此我將不得不建立一個dataaccess類爲我的模型對象的每一個,我將依賴於我的模型。有沒有更通用的方式,所以我不必告訴我的數據訪問哪個類正在處理? – user3466562