2013-05-09 42 views
0

所以我想用MVC 4和Entity Framework 5構建一個應用程序。我之前構建了簡單的應用程序,但現在我需要一些安全措施,我希望有人能夠回答一些混淆/問題;使用MVC 4 - EF 5 - SimpleMembershipProvider的工作流程

首先...使用MVC 4 Internet應用程序模板實現SimpleMembershipProvider。我已閱讀每篇關於修改,實現的主要文章...但是,這使用Code-First實現... 問題:我有一個現有的數據庫,我想將該計劃導入EDMX數據庫第一種方法。 。當我的數據庫緊密地並且直接連接到用戶表(用戶標識符)時,我如何實現MVC 4 Simple成員資格提供程序?...我知道只要我指定用戶標識和用戶名字段,我就可以使用自己的用戶表...這會影響提供者或現有的「AccountController」代碼嗎?這些需要修改嗎?

二,我正在尋找的是這種架構的工作流程......我是「老派」主要是數據庫的第一種方法......我的項目是一個巨大的WIP(正在進行中)。我有一個基礎,但需要根據需要進行擴展......有人可以提供一些關於數據庫優先與其他方法的深入見解,哪裏會有相當多的變更管理髮生?

回答

0

您仍然可以使用Code First映射到現有數據庫。您可能需要將屬性明確映射到表列,因爲映射不遵循默認約定,但這並不妨礙您使用Code First。

從DB首先轉換到另一個想法時。關注物體如何相互作用。然後,在某些時候,您將在交互後保存對象的狀態。這是ORM進場的地方。檢測更改並執行必要的SQL語句以保持對象的當前狀態。

將數據庫視爲另一個存儲容器。理論上它可以被另一個永久存儲機制(文檔數據庫,文件,持久性哈希表,內存列表等)所取代。實際上並不那麼簡單,但將DB視爲一個簡單的存儲容器的想法有助於擺脫大多數開發人員所熟悉的單一數據庫概念。

但是不要放鬆設計的視角。如果它是一個簡單的form-over-data應用程序,您將在未來添加功能,而不是簡化設計。比不嘗試完全抽象數據庫。你知道它在那裏,與用戶界面的關係幾乎是1:1,所以要充分利用這一點。

在它最簡單的形式之間的分離可以通過使用MVC控制器來管理模型(通過ORM映射到數據庫)和視圖(剃刀模板)之間的交互來實現,我的個人偏好是保持ORM不被所以我通常查詢數據庫,將域模型映射到視圖模型,然後將視圖模型傳遞給視圖。

再次,如果它是一個簡單的應用程序和屏幕直接映射到數據庫比viewmodel可能矯枉過正。