【问题标题】:Error running edmgen on entity framework ssdl, csdl and msl files在实体框架 ssdl、csdl 和 msl 文件上运行 edmgen 时出错
【发布时间】:2010-02-14 06:47:12
【问题描述】:

我已经根据"Microsoft Entity Framework in Action" 这本书创建了一个实体框架映射。 OrderIT DB 可从链接下载。我在 VS 2010 RC 上,这是我第一次认真尝试 EF。但我不断收到错误

"对象引用未设置为 对象的实例。模型.edmx"

我已将 .edmx 文件分解为组成 ssdl、csdl 和 msl 文件并运行 edmgen 和它

给了我与所示相同的错误 以下。 EdmGen /mode:ValidateArtifacts /incsdl:OrderIT.csdl /inssdl:OrderIT.ssdl /inmsl:OrderIT.msl

错误 7001:未设置对象引用 到一个对象的实例。

验证完成 -- 1 个错误,0 个 警告

显然映射有问题,但错误消息没有提供任何详细信息。为什么我收到此错误以及如何解决?

我已经上传了relevant files here

更新 我又做了一遍,这次将 Company 类标记为抽象类。看起来它现在正在工作。也许这就是问题所在,但我不确定,因为我一般是 EF 新手。

【问题讨论】:

    标签: .net entity-framework visual-studio-2010


    【解决方案1】:

    看起来您在 RC 中发现了一个错误。你应该尽快report it here

    也就是说,我不确定你是否真的需要做你想做的事情。你能解释一下你的目标是什么吗?对于使用 EF 的简单案例,您不必手动运行 EdmGen。

    【讨论】:

    • 我只是照着书做了一个实体和表之间的映射。我使用 VS 创建 EDM,删除了自动创建的实体,创建了自己的实体并手动重新映射它们,与书中完全一样。 VS 错误输出向我显示了错误。然后我使用了 edmgen 并得到了同样的错误。我猜 VS 在内部使用 edmgen 并且只报告出现的任何错误。
    【解决方案2】:

    我将 Company 类抽象化并正确构建。由于我在 EF 方面缺乏经验,而且错误消息没有说明任何细节,我被难住了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多