Я пытаюсь немного поработать с Entity Framework, и у меня возник вопрос относительно разделения слоев.
Я обычно использую подход UI -> BLL -> DAL, и мне интересно, как использовать EF здесь.
Мой DAL обычно будет что-то вроде
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
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;
}
}
Что делать?