我已经使用Code-First方法为EF 4.1 RC设置了一个简单的测试项目。我看到的是,每次对新MyContext()的调用都花费很长时间。
我发现,有一个接受DbCompiledModel的构造函数,描述http://msdn.microsoft.com/en-us/library/system.data.entity.infrastructure.dbcompiledmodel(v=VS.103).aspx表示,最好缓存该对象以提高性能。
但是我找不到从现有上下文中获取DbCompiledModel的方法。而且网上没有样品。
最佳答案
模型已被缓存。您可以通过将breakpoing放入OnModelCreating
方法来轻松验证它。只有在您第一次创建上下文时,它才会被点击。如果要手动创建DbCompiledModel
,则必须首先在上下文之外创建DbModelBuilder
。使用其Build
方法,然后使用Compile
生成DbModel
。