Я создаю прототип какого-нибудь репозитория и хочу знать, достаточно ли иметь методы, которые работают с последовательностями только .
Например:
public void AddEntities<T>(IQueryable<T> sequence);
Теперь, этот прототип метода выглядит нормально и действительно универсальным , но это отстой, когда кто-то хочет сделать что-то вроде:
var t = new T();
// Add just a single entity.
repository.AddEntities(???);
ЧтоКаковы решения для этого случая?
Должен ли я увеличить свой интерфейс и добавить методы, такие как AddSingleEntity<T>(T t)
и RemoveSingleEntity<T>(T t)
, или я должен оставить его как есть и использовать что-то вроде:
repository.AddEntities(new List { new T() }.AsQueryable());
Очевидно, что оба варианта имеют недостатки: первый делает интерфейс более уродливым и менее компактным, второй просто выглядит немного странно.
Что бы вы сделали ипочему?