【发布时间】:2022-01-18 14:47:13
【问题描述】:
我首先使用实体框架代码。
我有多个需要审计跟踪的类(例如 Car、Van)。 当对此类的实例进行更改时,将更新审计试验。 这些类都继承自父级(车辆),并且都使用 GUID 作为 ID。
我的 Audit Trail 类引用了此 GUID 和一条审核消息。
如何配置我的域对象,以便在删除 Car 时删除所有相应的 Audit Trail 项目? 有没有办法在域模型中执行此操作,我需要在其他地方进行配置,还是应该在每次删除操作后清理 Audit Trail 存储库?
public class Car : Vehicle
{
public string CarProperty { get; set; }
}
public class Vehicle
{
public Guid Id { get; set; } = Guid.NewGuid();
public string ItemName { get; set; }
}
public class AuditTrail
{
public Guid Id { get; set; } = Guid.NewGuid();
public string AuditNote { get; set; }
public Guid VehicleId { get; set; }
}
【问题讨论】:
-
级联删除选项
-
考虑到代码的结构,级联删除是否是一个选项?
标签: c# entity-framework ef-code-first