ADOEF连接字符串问题

摘要:
它在开发ADOEF对象时作为dll发布。这个两个dll中的edmx都使用名称NewEntity。加载这两个dll时,无论首先加载哪一个,加载第二个时都会发生错误:在映射和元数据信息中找不到指定的默认EntityContainer名称“TestEntitys”。据估计,问题是路径,这导致了无法找到。字符串如下:“/˃因为所有实体定义都在.csdl、.ssdl和msl中,所以请正确查找这三个文件。如果两个dll具有相同的配置,但实体名称不同,则会导致错误。如果您知道程序集的名称,则最好使用强制路径:metadata=res://test1/NewEntity.csdl | res://test1/NewEntity.ssdl | res://test1/NewEntity.msl ; 这不仅确保了正确性,而且提高了速度。

1、找不到实体容器。

在开发ADOEF的对象时作为dll发布。由其他框架这些dll进行加载。但在加载两个不同的dll是发生了一个小问题。

     建立两个dll:test1和test2。两个dll中的.edmx都采用NewEntity这个名字。在加载这两个dll时,无论先加载哪一个,在加载第二个时都会出错:

在映射和元数据信息中找不到指定的默认 EntityContainer 名称“TestEntities”。

     加载第二个时找不到实体名称。估计是路径的问题,导致找不到。字符串如下:

<add name="TestEntities" connectionString="metadata=res://*/NewEntity.csdl|res://*/NewEntity.ssdl|res://*/NewEntity.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=JIAYZ2003\SQL2005;Initial Catalog=Test;Integrated Security=True;

MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

     因为所有的实体定义都在.csdl,.ssdl,msl中,因此要正确的找到这三个文件。

     res://*/:

     "*"表示它会去输出路径下所有的Aseembly中找这三个被嵌入在Assembly中的文件。如果两个dll中有相同的配置,而实体名不同就会引起错误。如果知道Assembly的名称,最好使用强制路径:

即:metadata=res://test1/NewEntity.csdl|res://test1/NewEntity.ssdl|res://test1/NewEntity.msl;

这样既保证正确性又提高速度。

部分相关配置:

ADOEF连接字符串问题第1张

Metadata Artifact Processing: 设置为Embed,将三个实体文件嵌入到Assembly中。

ADOEF连接字符串问题第2张

Build Action:设置为EntityDeploy。

免责声明:文章转载自《ADOEF连接字符串问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇if else和switch的效率Android 5.0以上Material Design 沉浸式状态栏下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用QT在Windows下编写dll程序

转自:http://blog.csdn.net/yyzsyx/article/details/6086052 因为QT必须有调用QApplication的exec方法,这样才能产生消息循环,QT的程序才可以运行。所以说如果我们使用了QT编写了dll程序,在普通的 windows程序中是不能调用的。在调用的时候会出现错误。当然QT提供了解决方法:那就是QTW...

查看dll导出函数的方法

1、使用VS自带工具: (1)进入VS开发环境,然后Tools -> Visual studio 2015 Command Prompt,打开兼容工具命令提示符, (2)cd到dll所在目录,输入命令 dumpbin /exports a.dll  回车即可看到a.dll的所有导出函数。   或 dumpbin /exports “C:Windows...

Qt 开发的界面程序封装成DLL,在VC中成功调用

最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考。PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creato...

什么是 .manifest 文件

恩,为了大家都能很方便的理解,我将尽量简单通俗地进行描述。[现象]对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提示如下:应用程序配置不正确,请重新安装程序……或者是MSVCR80D.dll 没有找到什么的(我记得不是...

import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。

我们知道,Python使用cx_Oracle连接oracle的三个步骤是: 1、先安装cx-Oracle包,地址:https://pypi.org/project/cx-Oracle/5.3/#files 2、下载Oracle客户端instantclient-basic-win64-12.rar(我的电脑是64位,12是版本,还有11、10等),解压后将o...

怎样把图片资源导入Dll,并且取出来? (转)

谈Delphi编程中资源文件的应用                                                                                                                                               陈经韬   (一)初级应用篇:    ...