我应该将我的应用程序上下文与用于标识的ApplicationDbContext分开吗?在VisualStudio2013中,当您创建ASP.NET项目时,它会生成一个文件IdentityModels.cs,其中包含一个继承自IdentityDbContext并最终继承自DbContext的ApplicationDbContext类。我应该只为帐户相关实体保留此上下文并为应用程序中的所有其他实体创建单独的上下文,还是应该混合使用它们。是否存在任何安全问题或不将整个应用程序的所有实体包含在一个上下文中的原因?对此没有正确答案。没有与2个不同上下文相关的安全问题。这一切都归结为您的架构-您是否需要创建对您域中用户的引用。在单独的域中,您不能让EF维护从用户表到域的外键。有几次我开始使用2个不同的dbContext,但厌倦了额外的维护,没有增益和合并的东西。既然你问这个,很可能你不会从2个单独的db-contexts中获得任何东西,只是在将来添加额外的代码和不必要的维护。所以我说只有一个开始。您可以在真正需要时随时分开。我会创建一个单独的上下文,主要是因为您可能需要在某个时候将您的用户帐户数据库与您的应用程序数据库分开。通常,组织的安全策略会要求这样做。如果你没有这个要求,仍然维护两个上下文,你可以一直指向同一个连接字符串。我更喜欢拆分上下文,因为它使实体映射的流畅api受到限制。保持独立还可以选择加密您的authenticationdd,可能不加密您的应用程序数据,这在安全性和性能之间取得了很好的平衡。这是一个很好的问题,也是我自己思考过的问题。如果您希望您的应用程序使用领域驱动设计或洋葱架构怎么办?Membership和Identity组件是基础设施或应用层组件应用程序实体通常被认为是领域层组件。如果您使用单个上下文,那么在不损害体系结构完整性的情况下,您将很难将上下文实体分离到单独的层中。让我知道你在评论中的想法?以上是C#学习教程:我的applicationcontext和用于识别的ApplicationDbContext应该分开吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
