【问题标题】:EntityFramework Schema specified is not valid指定的 EntityFramework 架构无效
【发布时间】:2015-12-07 17:49:18
【问题描述】:

我知道已经有人问过这个问题,但我的情况似乎略有不同。我尝试了“运行自定义工具”,但奇怪的事情发生在这里:因为我有 2 个相关的数据库(所以有 2 个相关的模型)。如果我在一个模型上运行自定义工具,它会搞砸另一个模型,反之亦然(不完整的 .cs 文件、丢失等)。有谁知道我哪里出错了?

编辑:

完整的错误:

“System.Data.Entity.Core.MetadataException”类型的异常 发生在 EntityFramework.dll 中,但未在用户代码中处理

附加信息:指定的架构无效。错误:

关系 'ProductionMasterDataEntityModel.FK_ProductGroup_CostPeriods' 不是 加载是因为类型“ProductionMasterDataEntityModel.ProductGroup” 不可用。

以下信息可能有助于解决以前的问题 错误:

类型上不存在所需的属性“CstAveOrderQty” 'SISCOM.Persistance.Models.ProductGroup'。

自定义工具为:TextTemplatingFileGenerator

我不确定它是否与 asp.net 框架有关,但它是一个 asp.net 项目,所以我认为值得一提。

【问题讨论】:

  • 工具是什么?错误是什么?它与 ASP.NET 有何关系?
  • 编辑了问题

标签: c# asp.net entity-framework visual-studio-2015


【解决方案1】:

我像下面这样解决这个案例。

类库项目中的实体,我试图在其他项目中使用。 所以在那个项目中,我在新项目中添加了参考 "EntityFramework.SqlServer.dll"

【讨论】:

    【解决方案2】:

    在我的情况下,这个问题是在我更新 .edmx 文件之后出现的。删除上面的所有表并重新更新它。右键单击 .tt 文件(例如 Entity.tt)文件->运行自定义工具。然后我的问题解决了。

    【讨论】:

      【解决方案3】:

      似乎我有 2 个问题导致了该错误。首先,有一些存储过程和视图,在我解决之后(删除了我的模型,再次创建它们并且我取消选中了包括存储过程,我只将表添加到模型中,没有视图也没有存储过程)我可以访问一些数据,但不是全部。第二个问题是我忘记添加到依赖数据库的连接。

      所以我的存储库中的方法如下所示:

      public myType GetSomething()
      {
       var db = new model();
       var dependencyDb = new dependencyModel();
       //do whatever needs to be done with the data before presenting it
       return something;
      }
      

      P.S...我不必明确地将其带到所需的表中,在我添加连接后,它会自行找到所需的所有内容。

      希望这对遇到此问题的人有所帮助。

      【讨论】:

        【解决方案4】:

        从 edmx 中删除模型并再次添加它应该可以解决问题。请注意,除非使用源代码管理工具,否则无法恢复。

        【讨论】:

        • cr*p...我不小心编辑了您的答案而不是写评论,srry...就像我说的...甚至无法跟踪依赖关系,因为它们确实从我的模型中丢失即使在我重建之后......
        • 没关系,我宁愿在这个场景中做的是从 edmx 中删除模型并再次添加它以关闭大多数更改问题。请注意,除非您使用适当的源代码控制工具,否则无法恢复。添加它们后进行验证。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-30
        • 1970-01-01
        相关资源
        最近更新 更多