zoukankan      html  css  js  c++  java
  • ADOEF连接字符串问题

    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;

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

    部分相关配置:

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

    Build Action:设置为EntityDeploy。

  • 相关阅读:
    php array function
    scrum敏捷开发重点介绍
    PHP文件操作
    正则
    PHP面向对象
    PHP数组
    PHP函数参数
    PHP运算符优先级
    PHP判断变量类型和类型转换的三种方式
    PHP变量的传值和引用
  • 原文地址:https://www.cnblogs.com/jyz/p/1409714.html
Copyright © 2011-2022 走看看