本文转载:http://www.cnblogs.com/dudu/archive/2011/01/29/entity_framework_connection_string.html

如果EF在使用实体模型时候,即model first 和db first 时候,则

Entity Framework使用的连接字符串与ADO.NET是不同的,见下图:

相比于ADO.NET,Entity Framework的连接字符串不仅要存放metadata配置信息,还要存放完整的数据库连接字符串(上图中的"provider connection string"部分)。

这样的设计有两个不足之处:

1. 连接字符串配置复杂;

2. 无法重用现有的ADO.NET数据库连接字符串。

我在技术推广中这么写的:
public class DALBase
{
public NWEntities NWContext { get; set; } public DALBase()
{
string providerString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
string conn = GetEntityConnString(providerString);
NWContext = new NWEntities(conn);
} private string GetEntityConnString(string providerString)
{
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
//Metadata属性的值,是从向导生成的Config粘贴过来的
entityBuilder.Metadata = "res://*/NW.csdl|res://*/NW.ssdl|res://*/NW.msl";
entityBuilder.ProviderConnectionString = providerString;
entityBuilder.Provider = "System.Data.SqlClient"; return entityBuilder.ToString();
}
}

注意上面中的 entityBuilder.Metadata = "res://*/NW.csdl|res://*/NW.ssdl|res://*/NW.msl";

metadata:指明.csdl/.ssdl/.msl三个文件的路径,要与你的edmx文件名称一致。

web.config文件如下:

Entity FreamWork配置文件方式
<add name="LGSCMSEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=zengfanlong;database=LGSCMS;uid=sa;pwd=123456;&quot;" providerName="System.Data.EntityClient" /> ADO.NET方式配置文件
<add name="LGSCMSEntities" connectionString="Server=zengfanlong;database=LGSCMS;uid=sa;pwd=123456;"/>

最新文章

  1. ASP.NET MVC之路由特性以及母版页呈现方式(十二)
  2. 关于《Windows程序设计(第五版)》中一个实例程序的疑问
  3. AngularJS从构建项目开始
  4. 【转】require.js学习笔记(二)
  5. 使用javamail发送邮件错误:550 5.7.1 Unable to relay
  6. [转]ThreadPoolExecutor线程池的分析和使用
  7. bzoj2743 [HEOI2012]采花
  8. AP_AP系列 - 发票管理分析(案例)
  9. ubuntu安装mysql5.7
  10. awk的二维数组
  11. WS103C8例程——串口2【worldsing笔记】
  12. [转]使用ADO.NET访问Oracle存储过程
  13. OcciWrapper使用指南(高性能Oracle访问组件)
  14. linux进程创建
  15. 自制单片机之一------AT89S51最小系统制做
  16. 射频识别技术漫谈(27)——CPU卡概述
  17. 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)
  18. Tornado异步
  19. node平台的安装与搭建
  20. ProgressBar 进度条开源项目总结

热门文章

  1. 【原创】oracle的tpc-c测试及方法
  2. python学习笔记六--用户自定义类
  3. c++ 头文件 及 sort
  4. BZOJ3053: The Closest M Points
  5. jQuery Mobile 入门教程
  6. 学习面试题Day04
  7. (四)学习MVC之修改个人资料和身份验证登陆
  8. Hibernate4.x之映射关系--双向1-n
  9. MySQL性能指标及计算方法
  10. A Pretty Good Splash Screen in C#