首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从EF Core 5迁移到EF Core 6的错误

从EF Core 5迁移到EF Core 6的错误
EN

Stack Overflow用户
提问于 2021-12-10 15:56:28
回答 1查看 148关注 0票数 0

在从EF Core 5迁移到EF Core 6之后,我的db模型出现了问题。

在上下文创建中,我得到了错误:给定的键在字典中不存在。

应用程序回购示例:https://github.com/testApp6/TestApp

有什么不对的地方吗?或者我怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-10 16:15:10

这看起来像个窃听器。因此,它应该作为一个问题提出这里

处理属性的反射代码被显式接口实现弄糊涂了:

代码语言:javascript
复制
[ForeignKey(nameof(PostTypeEnum))]
[InverseProperty(nameof(Model.PostType.Posts))]
public PostType PostType { get; set; }

[NotMapped]
PostTypeCommon IPost.PostType => PostTypeEnum.ToCommon();

要解决这个问题,只需从Post中删除该属性:

代码语言:javascript
复制
[Table(nameof(PostType))]
public class PostType
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public virtual PostTypeEnum Enum { get; set; }

    [MaxLength(20), Required]
    public virtual string Code { get; set; }

    //[InverseProperty(nameof(Post.PostType))]
    public virtual ICollection<Post> Posts { get; set; }
}

您已经在导航属性的另一端和InverseProperty中配置了OnModelCreating。所以这里也没必要这么做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70307206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档