在 EF 6 中找不到 HasOne



我对实体框架很陌生,我正在尝试弄清楚关系。我找到了这段代码:

class MyContext : DbContext
{
    public DbSet<Post> Posts { get; set; }
    public DbSet<Tag> Tags { get; set; }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<PostTag>()
            .HasKey(t => new { t.PostId, t.TagId });
        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Post)
            .WithMany(p => p.PostTags)
            .HasForeignKey(pt => pt.PostId);
        modelBuilder.Entity<PostTag>()
            .HasOne(pt => pt.Tag)
            .WithMany(t => t.PostTags)
            .HasForeignKey(pt => pt.TagId);
    }
}
public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    public List<PostTag> PostTags { get; set; }
}
public class Tag
{
    public string TagId { get; set; }
    public List<PostTag> PostTags { get; set; }
}
public class PostTag
{
    public int PostId { get; set; }
    public Post Post { get; set; }
    public string TagId { get; set; }
    public Tag Tag { get; set; }
}

编译代码时出现错误:

"实体类型配置"不包含 "HasOne"和没有扩展方法"HasOne"接受第一个参数 可以找到类型"实体类型配置"(您是 缺少 using 指令或程序集引用?

我试图在Google和StackOverflow上找到它,但我发现的唯一事情是如何使用它,而不是为什么它会带来问题。我真的错过了参考吗?如果是,是哪一个?

HasOne()是一个实体框架核心方法。

在以前的版本中,您使用 HasOptional()HasRequired()

相关内容

  • 没有找到相关文章

最新更新