首先是实体框架代码

时间:2012-02-23 08:51:00

标签: ef-code-first

我在我的应用程序中使用Entity Framework.Patterns,我需要实现软删除。是否可以使用Archival Repository实现它?如果是,您能描述一下吗?

1 个答案:

答案 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();