Estou tentando trabalhar um pouco com o Entity Framework e tenho uma pergunta sobre a separação de camadas.
Eu costumo usar a interface do usuário -> BLL -> DAL abordagem e estou querendo saber como usar EF aqui.
Meu DAL normalmente seria algo como
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
Person p = personBL.GetPerson(id)
Minha pergunta agora é: como a EF cria meu modelo e o DAL, é uma boa ideia incluir o EF no meu próprio DAL ou é apenas uma perda de tempo?
Se eu não precisar envolver o EF, ainda colocaria meu Model.esmx dentro de sua própria biblioteca de classes ou seria bom colocá-lo dentro do meu BLL e trabalhar alguns lá?
Não vejo realmente o motivo de incluir a EF no meu próprio DAL, mas quero saber o que as outras pessoas estão fazendo.
Então, em vez de ter o acima, eu deixaria de fora o DAL e faria:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
O que fazer?