ОК, я всегда пытаюсь улучшить способ кодирования, потому что это моя страсть. У меня есть файл .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 каждой таблицы.
Если мне нужно что-то более конкретное, например, «Серхио, мне нужен список всех людей, рожденных между x и y»; затем я просто добавляю метод в класс PersonRepository.
public List<Person> GetPeopleFromDOB(DateTime x, DateTime y)
{
// Do the logic here.
}
Еще одна идея, которая у меня возникла, заключалась в создании класса DataAccess.cs и включении всех этих методов (мы будем говорить о 4-5 методах для каждой существующей таблицы) и разделении их по регионам.
Что делают более знающие программисты и какие предложения вы бы предложили для энергичного молодого программиста (мне 20 лет)?