2010-04-13 2 views
0

Я хочу сделать реализацию с шаблоном репозитория с ASP.NET MVC 2 и Entity Framework, но у меня были некоторые проблемы в этом процессе.Структура хранилища и структура объекта

Прежде всего, у меня есть 2 объекта, которые имеют отношения между ними, такие как Order and Product. Когда я создаю свой файл dbml, он дает мне класс . Закажите с свойством, которое отображает «ProductSet» и один класс Продукт с собственностью, на карте которой указан тот продукт, который относится к нему.

Поэтому я создаю свой шаблон хранилища, такой как IReporitory, с базовыми операциями CRUD и внутри моих контроллеров. Я реализую ProductRepository или OrderRepository.

Проблема возникает, когда я пытаюсь создать продукт и присвоить мой заказ на него, как ProductOne.Order = _orderRepository.Find(orderId);

Эта операция дала мне какое-то странное поведение, и я не могу выяснить, что случилось с ним.

+3

Пожалуйста, определите, что вы подразумеваете под * странным поведением *. –

+0

Уже решил Дарин, спасибо. То, что я хотел иметь в виду со Странным Поведением, заключалось в том, что когда я совершил некоторые изменения для связанных объектов, возникали некоторые разные типы исключений. Кроме того, я решил проблему с методом, описанным в другом ответе, с общей переменной httpcontext. – user319923

ответ

2

Вопрос немного не в деталях, но я предполагаю, что вы используете два отдельных объекта ObjectContext в своих двух репозиториях вместо одного. Вы хотите, чтобы весь жизненный цикл вашего объекта ObjectContext был привязан к одному веб-запросу и имел только один объект ObjectContext для всего жизненного цикла этого веб-запроса.

Поиск в Google объекта «объект с привязкой к сети» или «время жизни объекта».

например. http://dotnetslackers.com/articles/ado_net/Managing-Entity-Framework-ObjectContext-lifespan-and-scope-in-n-layered-ASP-NET-applications.aspx

+0

Thx для информации Hightechrider, Это точно проблема, но я новичок в шаблоне репозитория, и я не знаю, как управлять этим, может быть, с одноэлементным шаблоном, я не знаю. Есть ли у кого-нибудь пример, могу ли я это сделать? – user319923

+0

Я добавил ссылку на статью, которая показывает способы управления временем жизни ObjectContext. Обнаружив его до срока службы веб-запросов, он хорошо работает ИМХО. –

+0

Thx очень Hightechrider. – user319923

Смежные вопросы