我是一个15岁的应用程序的新手。团队负责人已经开始使用Entity Framework +以及现有的WebForms + Sprocs。在POCO对象中存储DbContext参考可能会产生哪些问题?
EF中的一些POCO(域实体)具有包含对DbContext的引用的属性,通常是对象图顶部的父对象。当我试图编写测试时,我不断得到Context Disposed异常。
public EmployerService(int UserID, Entities entities) // business layer
{
this.UserID = UserID;
_entities = entities;
}
internal Employer CreateEmployer()
{
Employer employer = _entities.Employers.Create();
employer.MasterItem = _entities.MasterItems.Create();
employer.MasterItem.LastModified = _entities.ItemLastModifieds.Create();
employer.DBContext = _entities;
...
return employer;
}
更重要的是,项目引用并不干净。 POCO引用数据和业务逻辑层。我正在构建一个案例来获取POCO对象的DbContext引用,但是我的搜索刚刚开始。
所以我的问题是,什么样的设计原则支持或拒绝引用POCO的DAL层?
这看起来还不错。它看起来更像是一个上下文生命周期问题(上下文存在时间过长)。在域实体中是否也有对上下文的引用? (就像'雇主'本身)。 _那会很糟糕。 – 2013-04-04 07:08:46