Saya mencoba untuk bekerja sedikit dengan Kerangka Entity dan saya mendapat pertanyaan tentang pemisahan lapisan.
Saya biasanya menggunakan UI -> BLL -> DAL dan saya ingin tahu bagaimana cara menggunakan EF di sini.
DAL saya biasanya berupa sesuatu
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
UI:
Person p = personBL.GetPerson(id)
Pertanyaan saya sekarang adalah: karena EF membuat model dan DAL saya, apakah ide yang baik untuk memasukkan EF ke dalam DAL saya sendiri atau hanya membuang-buang waktu?
Jika saya tidak perlu membungkus EF apakah saya akan tetap menempatkan Model.esmx saya di perpustakaan kelasnya sendiri atau akan lebih baik untuk menempatkannya di dalam BLL saya dan mengerjakannya di sana?
Saya tidak bisa melihat alasan untuk memasukkan EF ke dalam DAL saya sendiri tetapi saya ingin tahu apa yang dilakukan orang lain.
Jadi alih-alih memiliki yang di atas, saya akan meninggalkan DAL dan hanya melakukan:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
Apa yang harus dilakukan?