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

时间:2012-02-16 15:38:56

标签: entity-framework architecture

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

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

2 个答案:

答案 0 :(得分:1)

如果您利用内置的ASP.NET Membership类和SqlMembershipProvider,您甚至不需要为该方面提供实体框架上下文。

但即使您正在使用自己的成员资格逻辑,最好将数据库表分成EF上下文的逻辑分组,并避免让上下文过大。在系统初始化时,过大的上下文变得难以使用并且需要更长的时间来引导。

答案 1 :(得分:0)

我的一般规则是每个数据库连接一个DbContext。除非您共享Connection或拥有相关实体,否则将它们全部合并到一个DbContext中没有任何好处。