Tôi đang cố gắng làm việc một chút với Entity Framework và tôi có một câu hỏi liên quan đến việc tách các lớp.
Tôi thường sử dụng UI -> BLL -> DAL và tôi tự hỏi làm thế nào để sử dụng EF ở đây.
DAL của tôi thường sẽ giống như
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
Person p = personBL.GetPerson(id)
Câu hỏi của tôi bây giờ là: vì EF tạo ra mô hình của tôi và DAL, đó có phải là một ý tưởng tốt để bọc EF trong DAL của riêng tôi hay nó chỉ là một sự lãng phí thời gian?
Nếu tôi không cần phải bọc EF, tôi vẫn sẽ đặt Model.esmx của mình trong thư viện lớp của chính nó hay sẽ ổn nếu chỉ đặt nó bên trong BLL của tôi và làm việc ở đó?
Tôi thực sự không thể thấy lý do để bọc EF trong DAL của riêng mình nhưng tôi muốn biết những gì người khác đang làm.
Vì vậy, thay vì có những điều trên, tôi sẽ bỏ DAL và chỉ làm:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
Phải làm sao