2012-02-23 10 views
0

私はアプリケーションでEntityFramework.Patternsを使用しています。ソフト削除を実装する必要があります。それはArchivableRepositoryを使用して実装することは可能ですか?エンティティフレームワークのコードを最初に

「はい」の場合はどのように記述できますか?

+0

ように私は、リポジトリパターンを削除するソフトをやっているが、私はよく分かりませんArchivableRepositoryの意味は? – Josh

答えて

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(); 
関連する問題