• 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。

  • 相关阅读:
    Docker没有vi命令的解决方案
    docker-compose
    liunx 删除文件
    OPB_发票信息表(每笔结算生成一条数据) opb_invoiceinfo
    OPB_发票明细表(每一类药品生成一条数据) opb_invoicedetail
    工程启动类
    MySQL数据库启动,关闭,重启:
    linux压缩和解压缩命令
    降序限位排名
    PHP环境的塔建 防坑指南
  • 原文地址:https://www.cnblogs.com/jyz/p/1409714.html
Copyright © 2020-2023  润新知