映射视图是每个实体集和关联的映射中指定的可转换的可执行表示。
包括两部分:
- 查询视图 表示从数据库架构转到概念架构所需的规范装换
- 更新视图 表示从概念模型转到数据库架构所需的规范转换
如果应用程序仅用于查询方案,则可通过向 XML 映射中的 EntityContainerMapping 元素添加 GenerateUpdateViews 属性,然后将其设置为 False,将模型标记为只读。经验表明,生成更新视图的成本比生成查询视图的成本更高,因此要意识到这一点,避免在不需要时生成更新视图。
使用EF Power Tools工具可以对code first进行反向工程。既可以直接根据数据库成成对应的代码。
当没有为上下文在配置文件中添加连接字符串时,才能使用默认连接工厂(code first方式),生成的数据库的名称为DbContext所在文件的全名称。
数据库初始值设定项针对每个上下文配置,可以使用context
元素在配置文件中设置它们。此元素根据程序集限定名来指示要配置的上下文。默认情况下,CodeFirst上下文配置为使用CreateDatabaseIfNotExists
设定项。context 元素有一个可用于禁用数据库初始化的 disableDatabaseInitialization
特性。
例如,以下配置禁用在 MyAssembly.dll 中定义的 Blogging.BlogContext 上下文的数据库初始化。
<contexts>
<context type=" Blogging.BlogContext, MyAssembly" disableDatabaseInitialization="true" />
</contexts>
可以使用 databaseInitializer 元素设置自定义初始值设定项。
<contexts>
<context type=" Blogging.BlogContext, MyAssembly">
<databaseInitializer type="Blogging.MyCustomBlogInitializer, MyAssembly" />
</context>
</contexts>