目标框架从4.0到3.5的变化打破了EF模型.错误111:引用约束错误
本文关键字:错误 模型 EF 约束 引用 变化 框架 目标 | 更新日期: 2023-09-27 17:59:44
我在一个以.NET framework 4.0为目标的库项目中创建了一个EF模型。我只是将其降级为目标框架3.5,因为将使用此库的项目之一的目标是3.5,目前无法升级。
在将目标框架从4更改为3.5之后,我得到了多个111错误,类似于:
错误111:引用的属性从属角色WfInstance必须是EntityType的键的子集xx。引用的Entity.WfInstance引用中的从属角色关系的约束xx。实体.FK_WfInstance_WfStatusType.
我从消息中得到的是,我的表(WfInstance)主键必须使用/包含被引用表(WfStatusType)及其引用的任何其他表的Id。但是,我不知道该怎么做。
如有任何帮助,我们将不胜感激。
TIA-GP
当您使用向导为.NET 4.0库创建模型时,我认为您已经选中(或左键选中)在模型中包含外键。这是.NET 4.0中的一项新功能,不能降级到.NET 3.5。您将很容易找到它,因为您的实体将包含外键列的属性。还有一些其他功能可以打破降级。无论如何,相信我,如果你需要.NET 3.5的模型,最好的方法是删除你的EDMX并从头开始,因为手动修复损坏的模型将是一项非常糟糕和漫长的任务。