views:

27

answers:

1

I've been doing some playing around with POCO objects and EntityFramework. Because of this I have to write my own Context and Repository(s). I would like all repositories to use the same context instance so changes are shared between them. To facilitate this I coded my Context as a Singleton. This way instead of getting a new context and then passing it in the contstructor for all my repositories I can just have the default contstructor get the singleton instance.

My questions are these:

Do I need to dispose of a singleton?

Can I just leave it and rely on garbage collection?

If I need to dispose of it how do I do that?

Is this an acceptable practice or is there some reason I shouldn't use the singleton that I'm not aware of?

A: 

If you stay leave our class, GC dispose it only when your program will be shutted down. Regarding Do I need to dispose of a singleton? this is your personal need. If you wan't to recreate your instance of an object, create DestroyInstance method and set _instance = null there. But I think that Singleton is a realization where your instance must leave always..

Yuriy