繁体   English   中英

指定的实体框架架构无效

[英]EntityFramework Schema specified is not valid

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

编辑:

完整的错误:

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

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

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

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

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

自定义工具是:TextTemplatingFileGenerator

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

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

将模型从edmx中删除,然后再次添加,应进行分类。 请注意,除非使用源代码控制工具,否则无法还原。

似乎有两个问题导致了该错误。.首先,有一些存储过程和视图,在我将它们弄乱后(删除了模型,再次创建了它们,并且我未选中包含存储的选项)过程,而我只将表添加到模型中,没有视图,也没有存储过程)。我可以访问一些数据,但不能访问所有数据。.第二个问题是我忘记了添加到依赖数据库的连接。

因此,我的存储库中的方法如下所示:

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;
}

PS ..添加连接后,它无需自行将其​​显式添加到所需的表中,因此它可以自行找到所需的所有内容。

希望这可以帮助任何有此问题的人。

我像下面这样解决这种情况。

类lib项目中的实体,而我尝试在其他项目中使用。 因此,在该项目中,我在新项目中添加了引用“ EntityFramework.SqlServer.dll”

指定的架构无效。 错误:MyModel.ssdl(2,2):错误 0152:未找到具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序。 确保提供程序已在应用程序配置文件的“entityFramework”部分注册。 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM