1. 基本格式

<connectionStrings>
<add name="MyEntities" connectionString="metadata=
res://*/Model.csdl|
res://*/Model.ssdl|
res://*/Model.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=.;Initial Catalog=test_db;Persist Security Info=True;User ID=user;Password=123456;Pooling=False'
            providerName="System.Data.EntityClient" />
2.关于 metadata 部分,有两种方式
2.1. 嵌入模式(新建edmx文件时默认模式)
(转)关于EntityFramework中连接字符串的说明-LMLPHP
这种情况下,连接字符串的metadata部分的格式是
metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;
res:// 表示从资源中加载csdl等文件
* 表示EntityFramework会扫描所有加载的Dll
你也可以指定具体的DLL:res://somedll.dll/Model.csdl
2.2. 分离的文件模式
第一步:元数据处理模式设成输出到目录,如下图所示
(转)关于EntityFramework中连接字符串的说明-LMLPHP
第二步,编译edmx文件所在的项目,得到 metadata 相关的文件
(转)关于EntityFramework中连接字符串的说明-LMLPHP
第三步,在Web项目或主程序项目中以引用的方式添加这三个文件
(转)关于EntityFramework中连接字符串的说明-LMLPHP
(转)关于EntityFramework中连接字符串的说明-LMLPHP

第四步,编译整个解决方案

此时连接字符串的metadata部分格式如下

web项目:

metadata=~/bin/Model.csdl|~/bin/Model.ssdl|~/bin/Model.msl;

application项目:

metadata=./Model.csdl|./Model.ssdl|./Model.msl;
总结:
Entityframework连接字符串的metadata部分,有两种方式,
一种是资源模式
metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;(资源模式下推荐)
metadata=res://somedll.dll/Model.csdl|somedll.dll/Model.ssdl|somedll.dll/Model.msl;
一种是文件模式
metadata=~/bin/Model.csdl|~/bin/Model.ssdl|~/bin/Model.msl;(web)
metadata=./Model.csdl|./Model.ssdl|./Model.msl;(application)

转: http://blog.csdn.net/tangsilai/article/details/16924937
05-11 11:13