2010-09-10 7 views
9

Хорошо, я сдаюсь ...EF DbContext и StructureMap обзорное

То, что я хочу, чтобы разделить экземпляр DbContext в Ef4 в соответствии с просьбой. Я настроил StructureMap так:

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

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

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

ответ

13

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

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

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

+1

Ни в коем случае ... это было, это работает! Черт, спасибо :) – Darmak

+1

Итак, «каждый раз, когда запрашивается тип», но не один раз за запрос? –

+1

@ Roman Royter Точно мой вопрос. Как мне сделать это по запросу? – forhas

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