我想在一个程序集中隔离我所有的 EF 4.1 实现。 Database.SetInitializer 调用通常放置在 Web 应用程序的 Application_Start 方法中。从 DbContext 的静态构造函数调用 SetInitializer 是否安全?它似乎工作正常,但我只想确保这种方法是安全的。静态构造函数保证每个应用程序域只执行一次,因此至少不存在线程问题。还有什么我可能需要担心的吗?
感谢您提供任何见解。
最佳答案
是的,我们在自己的系统中做同样的事情。我们有一个 .Model 程序集,它封装了我们所有的 EF 功能——DbContext、ContextFactory、配置等都在那里设置。只要首先完成初始化程序的设置位置并不重要。
关于.net - Database.SetInitializer 来自静态构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6314270/