我想在一个程序集中隔离所有EF 4.1实现。 Database.SetInitializer调用通常放在Web应用程序的Application_Start方法中。从我的DbContext的静态构造函数调用SetInitializer是否安全?它似乎工作正常,但我只是想确保这种方法是安全的。静态构造函数保证每个应用程序域只执行一次,因此至少没有线程问题。还有什么我可能需要担心的吗?
感谢您的任何见解。
答案 0 :(得分:3)
是的,我们在自己的系统中做同样的事情。我们有一个.Model程序集,它封装了我们所有的EF功能--DbContext,ContextFactory,配置等都在那里设置。初始化器的设置并不重要,只要它首先完成。