在我的ASP.NET MVC 3应用程序中,我决定使用EF代码优先作为ORM框架。 EF Code-First依赖于DbContext类,该类公开对存储实体集合的访问。
将Web“站点访问相关”(自定义成员资格和角色提供程序)集合分离到一个DbContext(单独的数据库)中,并使用另一个数据库和DbContext来存储业务逻辑实体,这是一个好习惯吗?
答案 0 :(得分:1)
如果您利用内置的ASP.NET Membership类和SqlMembershipProvider,您甚至不需要为该方面提供实体框架上下文。
但即使您正在使用自己的成员资格逻辑,最好将数据库表分成EF上下文的逻辑分组,并避免让上下文过大。在系统初始化时,过大的上下文变得难以使用并且需要更长的时间来引导。
答案 1 :(得分:0)
我的一般规则是每个数据库连接一个DbContext
。除非您共享Connection
或拥有相关实体,否则将它们全部合并到一个DbContext
中没有任何好处。