Структура сущностей, использующая шаблон хранилища данных - DeepLoading - PullRequest
0 голосов
/ 12 мая 2010

Я реализую новый проект, в котором я решил использовать шаблон репозитория и Entity Framework.

Я успешно реализовал базовые методы CRUD и не перешел на свои DeepLoads.

Из всех примеров и документации, которые я могу найти для этого, мне нужно вызвать что-то вроде этого:

public Foo DeepLoadFoo()
{
    return (from foobah in Context.Items.Include("bah").Include("foo").Include("foofoo") select foo).Single();
}

Это не работает для меня, может быть, я пытаюсь быть слишком ленивым, но я бы хотел достичь чего-то такого:

public Foo DeepLoadFoo(Foo entity, Type[] childTypes)
{
    return (from foobah in Context.Items.Include(childTypes).Single();
}

Возможно ли что-то подобное, или я застрял с include.include.include.include?

Спасибо

1 Ответ

0 голосов
/ 12 мая 2010

В этом блоге упоминается, что в Entity Framework ObjectContext есть все метаданные о сущностях и их свойствах. Поэтому, возможно, вы можете использовать эти метаданные для просмотра свойств вашей сущности, их дочерних свойств и т. Д.

Другими словами, я считаю, что вы должны иметь возможность использовать метаданные для автоматического составления Include вызовов по вашему запросу.

...