Я намагаюся трохи попрацювати з 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;
}
}
Що робити?