Области применения EF DbContext и StructureMap - PullRequest
8 голосов
/ 11 сентября 2010

Хорошо, я сдаюсь ...

Я хочу поделиться экземпляром DbContext EF4 для каждого запроса.Я настроил StructureMap следующим образом:

For<MyContext>().Use(new MyContext("LocalhostConnString"));

Но когда я обновляю свой сайт или даже открываю его в другом браузере, я получаю точно такой же экземпляр MyContext.Почему это распределяется между запросами?

Я что-то упустил?

1 Ответ

13 голосов
/ 11 сентября 2010

Да ... около 4 символов.Попробуйте:

For<MyContext>().Use(() => new MyContext("LocalhostConnString"));

Если вы дадите StructureMap экземпляр объекта, он будет обрабатывать этот экземпляр как одиночный и возвращать его каждый раз.Если вместо этого вы дадите ему лямбду, которая создает экземпляр, она будет запускать эту лямбду каждый раз, когда запрашивается тип.

...