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。

  • 相关阅读:
    说说Cookie和Session
    说说SQL Server的数据类型
    Java访问权限控制
    数据库-- 触发器
    关于jni编译32位、64位动态库(Android.mk和Application.mk文件)
    Android中的 init.rc文件简介
    Android系统属性简介
    Android Support 包知识
    Android窗口机制分析与UI管理系统
    Android界面架构(Activity,PhoneWiondow,DecorView)简介
  • 原文地址:https://www.cnblogs.com/jyz/p/1409714.html
Copyright © 2011-2022 走看看