EF4 + Ninject + ExtensionMethods + Репозиторий - PullRequest
0 голосов
/ 16 марта 2011

У меня есть EF4.Model с таблицей Category, которая будет использовать шаблон NestedSet для хранения дочерних / родительских отношений, что, я думаю, означает, что EF4 не может помочь с его фабричными методами в получении дочерних данных, потому что там будетбез дочерних элементов или parentId, только влево и вправо.

Я создал статический класс CategoryModelExtensions, но для извлечения дочерних элементов мне понадобится переменная для ссылки на хранилище.

Но как я могу внедрить эту переменную, когда конструкторы не разрешены в статических классах?

Я не хотел создавать метод Children () в репозитории, потому что я хочу иметь возможность писать.

Category c = _repo.Get(1);
IList<Category> children = c.Children();

Помощь?Если мой вопрос неясен, пожалуйста, укажите его здесь, и я буду обновлять его по мере необходимости.

1 Ответ

0 голосов
/ 16 марта 2011

Вы могли бы просто передать это явно:

public static IList<Category> Children(this Category category, IMyRepository<Category> categories)
{
     // do stuff
}

IList<Category> children = c.Children(_repo);
...