Я портирую старый код VB6 (да да, VB6 ...) на C#. Я рефакторинг кода, чтобы быть более объектно-ориентированным, и, среди прочего, я реализую классы репозитория для доступа к базе данных.Шаблон OOP/Repository: создание слишком большого количества объектов для разных подмножеств доступа к базе данных?
Теперь эти классы репозитория возвращают объекты, а не наборы данных. Но я считаю, что иногда я возвращаю только часть информации, которую может содержать объект. Пример. Я могу получить полный список документов с именем, файловым путем, папкой, создателем и т. Д. - или я могу получить результаты поиска документов, которые содержат только имя и папку.
Какова наилучшая практика для этих случаев подмножества? Должен ли я создавать пользовательские объекты для этих вызовов базы данных, которые содержат только подмножество данных? Должен ли я возвращать полные объекты только с заполненными ими полями? Или мне просто нужно возвращать наборы данных?
Просто мысль .. Ваши хранилища никогда не должны верните 'DataSet'. Они должны вернуть что-то вроде Поко. И poco должен соответствовать TableStructure. Что-то вроде ORM-Mapper или EntityFramework может помочь – lokusking