指定的架构无效

本文关键字:无效 | 更新日期: 2023-09-27 18:12:21

我知道这个问题已经问过了,但我的情况可能略有不同。我尝试了"运行自定义工具",但这里发生了奇怪的事情:因为我有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项目,所以我认为值得一提。

指定的架构无效

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

我是这样解决这个问题的。

实体在类库项目中,它试图在其他项目中使用。因此,在该项目中,我添加了参考"EntityFramework.SqlServer.dll"在新项目

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

注…我不需要显式地将它带到所需的表中,在添加连接之后,它会自己找到所需的一切。