Как сделать так, чтобы моя модель сущностей давала мне доступ к моим таблицам «многие ко многим»? - PullRequest
0 голосов
/ 21 октября 2011

Моя модель превращает мои таблицы соединений в отношение многие ко многим в редакторе моделей.Это означает, что когда я запрашиваю таблицу через отношение «многие ко многим» к строке в другой таблице, я получаю EntityCollection вместо IQueryable.

Насколько я понимаю, это большеЭффективно придерживаться IQueryable, поскольку EntityCollection загружает экземпляры классов сущностей в память, а затем запрашивает их.

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Извлеките http://www.asp.net/entity-framework/tutorials/creating-a-more-complex-data-model-for-an-asp-net-mvc-application и посмотрите в разделе Настройка контекста базы данных.Есть свободный пример API, как использовать таблицы соединений для отношений «многие ко многим».Когда у меня уже есть определенная БД, мне нравится создавать свои собственные классы моделей и использовать Fluent API и аннотации данных, чтобы связать их с соответствующими таблицами.Таким образом, я контролирую, как приложение использует эти таблицы, а не доверяет фреймворку так, как оно думает, что оно должно быть построено.Это делает две вещи: 1) гарантирует, что вы знакомы с тем, как приложение использует ваши данные, и 2) дает вам больший контроль над тем, как данные представлены в приложении.

Удачное кодирование!

0 голосов
/ 21 октября 2011

Я не уверен, что это именно то, что вы ищете, но EntityCollection<T>.CreateSourceQuery() вернет новый экземпляр ObjectQuery, который реализует IQueryable<T>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...