asp.net-mvc – ApplicationDbContext – 它在项目中的位置
|
我想在我的mvc 5应用程序中使用一个(EF)上下文文件,我想使用asp身份. 我在解决方案DAL,GUI和WebAPI中有一些项目. 我想在DAL程序集中移动ApplicationDbContext并从我的UI项目中删除EF completly. 当您启动新项目时,您使用ApplicationDbContext和asp身份做了什么? 您是将它留在UI层还是将其移动到数据层? 我真的没有经验丰富的开发人员问我希望它不会被投票. 解决方法分离身份:从UI中分离身份要复杂得多.在这里,微软已经如此密切地纠缠它们,以至于我建议将它留下来,直到你在专家级别理解Identity,EF和Repository Pattern. 但是,如果您有兴趣将身份与UI级别分开,这里有一个很棒的resource from Dino Esposito >注意在Account Controller的构造函数中对ApplicationDbContext的引用: public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>
(new ApplicationDbContext())))
这很容易成为DAL中Context的引用. >在上下文中使用Repo会很困难.这需要重新编写UserManager,我非常怀疑你想做什么. : public class UserIdentityContext : ApplicationDbContext,IUserIdentityContext 现在,您可以使用Ninject将您的帐户控制器绑定到抽象模式 public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>
(IUserIdentityContext identityContext)))
但是,这些移动都不允许您从UI项目中删除EF程序集.在这里,Microsoft过于紧密地绑定了Data和UI元素.您必须重新编写帐户控制器. 这是他们正在处理的一个问题,并且可能会在MVC 6 / Identity 3中大大改进 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – TDD:在ASP.NET MVC 3中测试DataAnnotation
- asp.net – 可以创建.config文件并将其包含到web.config中吗
- asp.net – 为会话值的关键名称创建枚举是一个好主意吗?
- 使asp.net应用程序符合IPv6标准
- asp.net-mvc – ASP.Net MVC:发送JSON到控制器
- asp.net-mvc – mvc视图中的动态类型
- App_GlobalResources(ASP.NET)中的子文件夹
- 在ASP和ASP.Net之间共享登录系统
- ASP.NET – 从内容页面访问主页面元素
- asp.net-mvc – ASP.NET MVC View可以使用来自不同项目的模
