指定的架构无效
本文关键字:无效 | 更新日期: 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;
}
注…我不需要显式地将它带到所需的表中,在添加连接之后,它会自己找到所需的一切。