8

Ok, I give up...

What I want is to share the EF4's DbContext instance per request. I configured StructureMap like this:

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

But when I refresh my site, or even open it in another browser, I get the same exact instance of MyContext. Why is this shared across requests?

Am I missing something?

Darmak
  • 905
  • 2
  • 11
  • 16

1 Answers1

14

Yes... about 4 characters. Try:

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

If you give StructureMap an object instance, it will treat that instance as a singleton and return the same one every time. If instead you give it a lambda that creates an instance, it will run that lambda each time the type is requested.

Joshua Flanagan
  • 8,527
  • 2
  • 31
  • 40