【发布时间】:2010-06-21 19:11:03
【问题描述】:
好的,我一直在努力改进我的编码方式,因为这是我的热情所在。我有一个 .dbml 文件 (LINQ to SQL),我用它来访问我的 SQL Server 数据库。
想象一下,如果您愿意,您的数据库中有一个 Person 表,并且您想提供一种删除、添加和修改 Person 记录的方法。
我目前处理事情的方式是创建名为 PersonRepository、CarRepository、DocumentRepository 等的类。对于我数据库中的每个表,我创建一个存储库类。
这些存储库类通常由类似于以下内容的内容组成:
MyDatabaseContext db = new MyDatabaseContext();
public Person GetPersonByID(int id)
{
return db.Person.Where(p => p.ID == id);
}
每个表的基本 CRUD 功能几乎相同。
如果我需要更具体的内容,例如“Sergio,我需要一份所有出生在 x 和 y 之间的人的列表”;然后我只是将方法添加到 PersonRepository 类。
public List<Person> GetPeopleFromDOB(DateTime x, DateTime y)
{
// Do the logic here.
}
我的另一个想法是创建一个 DataAccess.cs 类并在其中包含所有这些方法(我们将讨论每个现有表大约 4-5 个方法)并按区域划分它们。
知识更渊博的程序员在做什么?对于一个热心的年轻程序员(我今年 20 岁),您有什么建议?
【问题讨论】:
标签: c# .net linq-to-sql design-patterns