本文转载: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;"/>

在Entity Framework中重用现有的数据库连接字符串的更多相关文章

  1. 关于Entity Framework中的Attached报错的完美解决方案终极版

    之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...

  2. Entity Framework中DbContext结合TransactionScope提交事务的正确方式

    问: I would like know what is the best possible way to implement transactions with DBContext. In part ...

  3. Entity Framework 教程——Entity Framework中的实体类型

    Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. ...

  4. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  5. [转]在Entity Framework中使用LINQ语句分页

    本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...

  6. 在Entity Framework中使用事务

    继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...

  7. Entity Framework中的多个库操作批量提交、事务处理

    在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...

  8. LinqToSql和ASP.NET Entity FrameWork 中使用事务

    ASP.NET Entity FrameWork中: int flag = -1; if (this.URPmanagementEntities1.Connection.State != System ...

  9. Lazy<T>在Entity Framework中的性能优化实践

    Lazy<T>在Entity Framework中的性能优化实践(附源码) 2013-10-27 18:12 by JustRun, 328 阅读, 4 评论, 收藏, 编辑 在使用EF的 ...

随机推荐

  1. ajax返回son数据

    JSON 只是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,需要根据 JavaScript 的 eval 语句. 函 ...

  2. BIRT使用1:简介、概念、元素、报表设计器组成

    前一篇博客对birt进行了一个初探,相信通过上篇博客大家对birt有个初步认识,接下来我们随着下面这张思维导图的展示,进入birt的使用学习. 这一篇博客是第一部分,主要介绍一下birt的简介.概念. ...

  3. S5P4418 uboot 分析

    瘋耔新浪微博:   http://weibo.com/cpjphone 一: 1◑ 从链接脚本文件u-boot.lds('/opt/4418-source/android/u-boot' )中可以找到 ...

  4. C# List中写出LINQ类似SQL的语句

    很多时候,从一个关系表中挑出一个我们需要的元素列表采用SQL语句是再容易不过的了,其实C#的List中也可以采用类似的方法,虽然List中集成了Select(), Where()等语句,不过如果你的判 ...

  5. 1306.Sequence Median(堆排序)

    1306 URAL真是没水题 以为简单的排序就好了 ME  内存限制很紧 堆排序 或者 STL 用堆排序做的 正好复习一下 都忘了 #include <iostream> #include ...

  6. Android横竖屏切换总结

    Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 ...

  7. js jquery版本的 金额千分位转换函数(非正则,效率极高)

    没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...

  8. 【转】FragmentTest学习笔记1

    原文网址:http://blog.csdn.net/hishentan/article/details/20734489 源码部分: BookContent.java package com.exam ...

  9. andori 动画验证必填项

    android项目开发过程中,都会碰到必填项的校验,最简单的就是利用Toast对用进行提示,感觉这种提示太不够人性化了,那么今天就来个带动画的,并可以将光标定位到必填项中. andorid动画Anim ...

  10. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.4.6

    Let $A$ and $B$ be two matrices (not necessarily of the same size). Relative to the lexicographicall ...