繁体   English   中英

EF Core不删除相关实体

[英]EF Core not delete related entity

我尝试删除与它相关的实体的实体,但是Entity Framework不想这样做。

这是代码:

        var tr = _context.Trees
            .Include(x => x.Translation)
            .FirstOrDefault(x => x.Id == 2);

        _context.Remove(tr);
        _context.SaveChanges();

语境:

  modelBuilder.Entity<Tree>().ToTable("h_tree");
  modelBuilder.Entity<Tree>().HasOne(x => x.Translation);

树类:

public class Tree 
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual Translation Translation { get; set; }
}

有人知道为什么无法删除相关实体吗?

翻译班:

public class Translation 
{
    public long Id { get; set; }
    public string Pl { get; set; }
    public string En { get; set; }
    public string De { get; set; }
    public string Cz { get; set; }
    public string It { get; set; }
    public string Ru { get; set; }
    public string Fr { get; set; }

    public Translation()
    {

    }
}

您似乎错过了说这是一对一还是一对多的关系。

.HasOne()需要与.With*()方法配对。 .WithOne().WithMany()


看来您的Translation类缺少外键。

添加一个名为TreeId的属性,并在您的.WithOne()调用中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM