我目前正在开发一个 MVC4 项目,如果 Ninject 将 UnitOfWork 注入到我的控制器中,我会使用它,并且我正在使用 UnitOfWork + Generic Repository 模式。
我不喜欢 VS2012 MVC4 模板,因为它直接使用数据库访问(例如数据库初始化)。
我的项目分为:
带有表单身份验证的 UI 项目(mvc4 应用程序)
一个域项目(数据库实体、存储库、UnitOfWork 接口加上两个 UnifOfWork 实现,一个带有 MOQ,一个带有 EF;它们通过 Ninject 注入 UI 控制器)。
我看了这个例子:
http://kevin-junghans.blogspot.it/2013/03/decoupling-simplemembership-from-your.html
与这个问题有关
SimpleMembership - 有人让它对 n 层友好吗?
现在我有一个问题:
我怎样才能在这里注入我的 UoW?WebSecurity 类是静态的,没有构造函数,它直接实例化 UoW 以在 db 上执行活动......
我总是必须初始化 WebMatrix 才能直接访问数据库?这段代码:
public static void Register() { Database.SetInitializer<SecurityContext>(new InitSecurityDb()); SecurityContext context = new SecurityContext(); context.Database.Initialize(true); if (!WebMatrix.WebData.WebSecurity.Initialized) WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); }
打破了我与域的解耦.. 例如,我如何使用我的 UnitOfWork 制作 WebSecurity?最佳做法是什么?
- 我如何存储其他数据(例如,EmailAddress 等)并检索它,而无需在每次必须访问用户配置文件时执行数据库查询?类似于旧的 CustomPrincipal ... ASP.NET MVC 中的自定义主体
谢谢!