【问题标题】:Multiple edmx in one project一个项目中的多个 edmx
【发布时间】:2013-03-15 11:38:24
【问题描述】:

我有一个带有一个 edmx 文件的项目。测试类工作正常。当我添加具有不同名称和命名空间的 edmx,但连接到类似的基本结构时,添加后,在代理类停止工作之前,我收到消息:

 Mapping and metadata information could not be found for EntityType
 (InvalidOperationException)

删除添加的 edmx 后,项目运行正常。是否有可能将两个 edmx 文件添加到单个项目中,以免出现对元数据的错误引用?

目前我使用这个连接字符串

<add name="MSSQLEntities" connectionString="metadata=res://*/RiskEntityModel.csdl|res://*/RiskModelLibrary.Lib.RiskEntityModel.MSSQL.ssdl|res://*/RiskEntityModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=_DBSERVERNAME_;User ID=_DBUSERNAME_;Password=_DBPASSWORD_;Initial Catalog=_DBPATH_;Trusted_Connection=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

【问题讨论】:

    标签: c# wcf entity-framework


    【解决方案1】:

    您必须手动构造 EntityConnectionDescription 并将其传递给您的自定义实现 ObjectContext

    所以基本上你可以创建自己的而不是标准的 EF 上下文构建功能(从应用配置中读取)。

    【讨论】:

    • 不确定这是否有帮助。帖子经过编辑以实现我想要实现的目标。
    • 抱歉,不太明白你的附录。
    • 但是connectionString是正确的。在没有一个 edmx 文件的情况下,一切正常。如果他在那里,为什么我会收到一条消息,它无法从元数据中下载架构?
    • 我的假设是它根本无法决定使用哪个连接字符串/edmx。但我不确定我是否理解你的问题了。
    • 没有。根据选择的数据库是合适的ConnectionString。但是,如果应用程序没有看到资源中的 ssdl、csdl 和 msl 文件,则添加第二个 edmx。可能是位置的变化?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多