Entity framework 将网站成员资格数据上下文与BL上下文分开是一种好的做法吗?

Entity framework 将网站成员资格数据上下文与BL上下文分开是一种好的做法吗?,entity-framework,architecture,Entity Framework,Architecture,在我的ASP.NETMVC3应用程序中,我决定首先使用EF代码作为ORM框架。EF代码首先依赖于DbContext类,该类公开对存储实体集合的访问 在一个DbContext(以及一个单独的数据库)中分离一个web“站点访问相关”(自定义成员资格和角色提供程序)集合,并使用另一个数据库和DbContext来存储业务逻辑实体,这是一个好做法吗?我的一般规则是每个数据库连接一个DbContext。除非您共享一个连接或拥有相关实体,否则将它们组合成一个DbContext没有任何好处。如果您利用内置的AS

在我的ASP.NETMVC3应用程序中,我决定首先使用EF代码作为ORM框架。EF代码首先依赖于DbContext类,该类公开对存储实体集合的访问


在一个DbContext(以及一个单独的数据库)中分离一个web“站点访问相关”(自定义成员资格和角色提供程序)集合,并使用另一个数据库和DbContext来存储业务逻辑实体,这是一个好做法吗?

我的一般规则是每个数据库连接一个
DbContext
。除非您共享一个
连接
或拥有相关实体,否则将它们组合成一个
DbContext

没有任何好处。如果您利用内置的ASP.NET成员资格类,使用SqlMembershipProvider,您甚至不需要为这方面的内容提供实体框架上下文

但是,即使您正在执行自己的成员资格逻辑,也应该明智地将数据库表划分为EF上下文的逻辑分组,并避免上下文过大。当系统初始化时,过大的上下文变得难以处理,引导时间也更长