Entity Framework ile biraz çalışmaya çalışıyorum ve katmanların ayrılmasıyla ilgili bir sorum var.
Genellikle UI -> BLL -> DAL yaklaşımını kullanıyorum ve burada EF'nin nasıl kullanılacağını merak ediyorum.
DAL'ım genellikle
GetPerson(id)
{
// some sql
return new Person(...)
}
BLL:
GetPerson(id)
{
Return personDL.GetPerson(id)
}
Kullanıcı arayüzü:
Person p = personBL.GetPerson(id)
Şimdi sorum şu: EF modelimi ve DAL'ımı oluşturduğundan, EF'i kendi DAL'ımın içine sarmak iyi bir fikir mi yoksa sadece zaman kaybı mı?
EF'yi sarmam gerekmiyorsa yine de Model.esmx'imi kendi sınıf kütüphanesinin içine yerleştirir miyim yoksa sadece BLL'imin içine yerleştirip orada çalışmak iyi olur mu?
EF'i kendi DAL'ımın içine sarmanın nedenini gerçekten göremiyorum ama diğer insanların ne yaptığını bilmek istiyorum.
Yukarıdakilere sahip olmak yerine, DAL'ı bırakıp sadece şunu yaparım:
BLL:
GetPerson(id)
{
using (TestEntities context = new TestEntities())
{
var result = from p in context.Persons.Where(p => p.Id = id)
select p;
}
}
Ne yapalım?