我尝试用它相关的实体删除我的实体,但实体框架不想这样做。
以下是代码:
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()
{
}
}
答案 0 :(得分:1)
你似乎错过了说这是一对一还是一对多的关系。
.HasOne()
需要与.With*()
方法配对。 .WithOne()
或.WithMany()
。
您的翻译类似乎缺少外键。
添加名为TreeId
的媒体资源,并在.WithOne()
电话中使用该资源。