我在我的应用程序中使用Entity Framework.Patterns,我需要实现软删除。是否可以使用Archival Repository实现它?如果是,您能描述一下吗?
答案 0 :(得分:0)
我通过向支持软删除的实体添加接口来进行软删除。
public interface ISoftDelete
{
DateTime? DeletedDate {get;set;}
}
public class Foo : ISoftDelete
{
public int Id { get;set; }
public DateTime? DeletedDate { get;set; }
}
然后在您的存储库中添加类似这样的内容
public void SoftDelete<T>(T entity) where T : class, IEntity
{
entity.DeletedDate = DateTime.UtcNow;
}
用法就像这样
var entity = repo.GetOne();
repo.SoftDelete(entity);
repo.SaveChanges();