Шаблон репозитория и Entity Framework - PullRequest
0 голосов
/ 13 апреля 2010

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

Прежде всего, у меня есть 2 сущности, между которыми есть отношения, такие как Порядок и Продукт. Когда я генерирую свой dbml-файл, он дает мне класс Order со свойством, которое сопоставляет "ProductSet", и один класс Product со свойством, которое сопоставляет, к которому относится Product.

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

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

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

1 Ответ

2 голосов
/ 13 апреля 2010

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

Поиск в Google по запросу "objectcontext в веб-области" или "время существования objectcontext".

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

...