我试图弄清楚我应该将每个实体的数据库操作放在哪里。在这种混乱之前,对于每个实体,我都在提供程序类中执行所有这些数据库操作。Provider类意味着每个类都有一个provider。如:
class Member
{
public string FirstName;
public string LastName;
}
class MemberProvider
{
//Singleton
//Do database operations
......
public List<Member> GetItems(FirstName = null, LastName = null)
{
// run store procedure
//this returns List<Member> if any
}
public Member GetItem(int? Id = null,FirstName = null, LastName = null)
{
// run store procedure
//this return Member if any
}
....
}
然后当我需要一些过滤的成员列表时,我这样做:
List<Member> members = MemberProvider.Instance.GetItems(FirstName = "John", LastName = "Black");
问题是如何在实体本身中执行与实体相关的所有这些数据库操作?这是好习惯吗?我应该阅读什么来理解这个概念?
提前致谢。