【Entity Framework】EF配置文件设置详解
文章目录
一、概述
EF实体框架允许在配置文件中指定多个设置。一般来说,EF遵循"约定优于配置"的原则;从EF6开始,引入代码配置,在【Entity Framework】EF配置之代码配置详解 一文详解介绍,代码配置提供了一种代码应用配置的重要的方式。仍然可以从代码应用配置,但需要使用各种 API 来配置不同的区域。 借助配置文件选项可在部署期间轻松更改这些设置,而无需更新代码。
二、实体框架配置部分
从EF4.1开始,可以使用配置文件的appSettings
部分为上下文设置数据库初始值设置项。在EF 4.3中,我们引入了自定义entityFramework
部分来处理新设置。实体框架仍将识别使用旧格式设置的数据库初始值设定项,但建议尽可能改用新格式。
安装 EntityFramework NuGet 包时,entityFramework 部分会自动添加到项目的配置文件中。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
</configuration>
三、连接字符串
连接字符串位于标准connectionStrings
元素中,不需要entityFramework
部分。
- 基于 Code First 的模型使用常规 ADO.NET 连接字符串
<connectionStrings>
<add name="BlogContext"
providerName="System.Data.SqlClient"
connectionString="Server=.\SQLEXPRESS;Database=Blogging;Integrated Security=True;"/>
</connectionStrings>
- 基于 EF 设计器的模型使用特殊的 EF 连接字符串
<connectionStrings>
<add name="BlogContext"
connectionString=
"metadata=
res://*/BloggingModel.csdl|
res://*/BloggingModel.ssdl|
res://*/BloggingModel.msl;
provider=System.Data.SqlClient;
provider connection string=
"data source=(localdb)\mssqllocaldb;
initial catalog=Blogging;
integrated security=True;
mult