我尝试将我的实体配置为具有适当的关系。 我想配置它,当我删除类别实体时,它应该从数据库中删除它的翻译和该类别的所有产品(当然包括产品翻译)。
它有效但不完全。 在我删除类别的这一刻,此类别的所有产品都被删除,但翻译(类别和产品)仍然存在。
我的实体:
public class Product
{
public Guid Id { get; protected set; }
public Category Category { get; protected set; }
public Translation Translation { get; protected set; }
}
public class Category
{
public Guid Id { get; protected set; }
public IEnumerable<Product> Products { get; protected set; }
public Translation Translation { get; protected set; }
}
public class Translation
{
public Guid Id { get; protected set; }
public string English { get; protected set; }
public string Polish { get; protected set; }
public string Gernam { get; protected set; }
}
DbContext配置
modelBuilder.Entity<Category>().HasMany(x => x.Products).WithOne(x => x.Category)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Product>().HasOne(x => x.Category).WithMany(x => x.Products)
.OnDelete(DeleteBehavior.Cascade);
可以配置dbcontext,它将按照我的意愿工作而不将类别和产品属性添加到翻译实体吗?