如果我有一个包含多个表的数据库,但每次我需要在我的网站中使用一个表时,我只是将其添加到一个模型中。按功能拆分edmx文件更好吗?
发布于 2013-11-04 01:05:09
这真的取决于你的应用程序结构,如果你所有的实体都是相关的,那么你应该把它们保存在一个单独的EDMX文件中。
您必须将EDMX视为一个类。因此,如果你觉得它们在一个单独的文件中组织得更好,那么就继续创建你需要的文件来保持它的组织。
我已经在我想要分离关注点的一些应用程序中做到了这一点。
对我来说,混合两个数据访问层似乎并不合适。
类似于admin的代码:
private void SomeAdminFunction()
{
using (var db = new AdminEntities())
{
//Access all Admin entities
}
}对于用户:
private void SomeUserFunction()
{
using (var db = new UserEntities())
{
//Access all User entities
}
}发布于 2013-11-04 01:05:18
有一种观点认为,通过将EDMX拆分成域驱动的实体来拆分您的站点是一个好主意。这使您能够使用特定于它将执行的工作的数据视图来设置上下文,并隔离关注点。Julie Lerman在她的Pluralsight课程中谈到了一些细节。实体框架1大型edmx或多领域驱动模型?‘>我也看到了这里描述的这种技术的问题
总体而言,这是否是一个好主意的答案可能取决于数据库和web应用程序的性质。如果DB包含永远不应该暴露在web上的数据,那么这种分离是必不可少的。另一方面,如果它只是一小部分表,公开它们没有真正的问题,这可能是不需要的额外的复杂性。
https://stackoverflow.com/questions/19755382
复制相似问题