Я создаю службы RESTful для нескольких объектов базы данных на основе модифицированной версии BISDM. Некоторые из этих сущностей имеют связанные таблицы поиска, как показано ниже:

Я решил использовать шаблон репозитория, чтобы обеспечить четкое разделение между сохранением и поиском данных; однако я не уверен, как поиски (в отличие от сущностей) должны быть представлены в репозитории.
Должны ли поисковые запросы иметь свой собственный интерфейс репозитория, «делиться» им со связанным объектом, или должен быть общий интерфейс ILookupRepository?
На данный момент эти запросы доступны только для чтения; однако будет время, когда мы можем захотеть отредактировать поиск через сервисы.
Option 1:
ISpaceRepository.GetSpaceCategoryById(string id);
Option 2:
ISpaceCategoryRepository.GetById(string id);
Option 3:
ILookupRepository.GetSpaceCategoryById(string id);
Кстати, этот вопрос связан с другим, касающимся справочные таблицы и веб-службы RESTful.