我正在尝试与Entity Framework一起工作,但遇到了有关层分离的问题。
我通常使用UI-> BLL-> DAL方法,我想知道如何在这里使用EF。
我的DAL通常是这样的
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
用户界面:
Person p = personBL.GetPerson(id)
现在的问题是:由于EF创建了我的模型和DAL,将EF包装在我自己的DAL中是一个好主意还是只是浪费时间?
如果不需要包装EF,我仍然可以将Model.esmx放置在其自己的类库中,还是将其放置在BLL中并在其中工作是可以的吗?
我真的看不出将EF包装在我自己的DAL中的原因,但是我想知道其他人在做什么。
因此,除了上述内容之外,我将省略DAL并执行以下操作:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
该怎么办?