Я работаю над приложением mvc 2.0, используя платформу управления данными. При работе с сущностью я использую шаблон репозитория с объектами poco. Для начала, когда я конвертирую объект сущности в json, я получаю ошибку циклической ссылки.
После некоторого поиска я обнаружил, что существуют прокси, созданные для поддержки отложенной загрузки. Если между двумя классами (A и B) существуют навигационные свойства, это приводит к ошибке ссылки на цирратор. Вполне понятно. Поэтому я пытаюсь обойти это.
Я отключил прокси и ленивую загрузку. Это работает, если я только хочу загрузить класс A. Вместо прокси теперь есть нулевые значения, поэтому они могут быть проанализированы.
Но теперь я хочу загрузить класс, например, Orders, и я хочу посмотреть, какой клиент разместил заказ:
Предположим, у меня есть класс Customer, у которого есть свойство навигации для Order (от 1 до более), а Order имеет свойство обратной навигации для Customer. Когда я выключаю прокси, я получаю хороший JSON со всеми заказами, но не с клиентами. Когда я включаю прокси, я получаю циклическую ошибку.
Но как я мог вернуть заказы покупателю, который их купил? Можно ли создать linq, который получает заказы и загружает клиентов (у меня есть хранилище как для клиентов, так и для заказов)? Или есть способ снять прокси-объекты?
Надеюсь, мой пост достаточно ясен, и кто-то может мне помочь.