关于EntityFramework中连接字符串的说明


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文件时默认模式)



这种情况下,连接字符串的metadata部分的格式是
metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;
res:// 表示从资源中加载csdl等文件
* 表示EntityFramework会扫描所有加载的Dll
你也可以指定具体的DLL:res://somedll.dll/Model.csdl
2.2. 分离的文件模式
第一步:元数据处理模式设成输出到目录,如下图所示


第二步,编译edmx文件所在的项目,得到 metadata 相关的文件


第三步,在Web项目或主程序项目中以引用的方式添加这三个文件



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

此时连接字符串的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)

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告