【问题标题】:Entity framework metadata exception - No csdl, ssdl, msl in dll resources实体框架元数据异常 - dll 资源中没有 csdl、ssdl、msl
【发布时间】:2012-05-29 17:32:04
【问题描述】:

我有 DAL(模型优先实体框架 4.1)和在不同项目中使用它的服务。一切工作正常,但经过一些小的更改(例如我从数据库生成模型)它停止工作。我现在收到元数据异常。 经过数小时的研究,我下载了 ILSpy 并检查了 DAL.dll 内部是否没有资源。 我的连接字符串如下所示:

metadata=res://*/DataModel.TerminalRegistryModel.csdl|
         res://*/DataModel.TerminalRegistryModel.ssdl|
         res://*/DataModel.TerminalRegistryModel.msl;

在 EDMX 文件元数据工件处理中设置为嵌入输出程序集中。 什么会导致我的问题?

【问题讨论】:

  • 我最近遇到了这个问题。在我的解决方案中,本地构建嵌入了元数据资源。但在自动化构建中,资源缺失。

标签: entity-framework resources metadata edmx


【解决方案1】:

标准元数据字符串如下所示:
metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl
这在大多数情况下都可以正常工作。但是,在某些实体框架中会感到困惑,不知道要查看哪个 dll。因此,将元数据字符串更改为:
metadata=res://nameOfDll/Model.csdl|res://nameOfDll/Model.ssdl|res://nameOfDll/Model.msl

【讨论】:

  • 是否需要在“nameOfDll”中包含“.dll”扩展名?
  • @PeterX 是的,您需要包含程序集的全名。
猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 2011-08-02
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多