我在我的应用程序中使用EntityFramework.Patterns,并且我需要实现软删除。是否可以使用ArchivableRepository实现它?
如果是,你能描述一下是怎么做到的吗?
发布于 2012-02-25 01:03:33
我通过向支持软删除的实体添加一个接口来进行软删除。
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();https://stackoverflow.com/questions/9409712
复制相似问题