关于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)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值