2016-03-25 27 views
2

net çekirdekVarlık çerçeve 7

i yumuşak uygulamak ment emple kolay içinde varlık çerçevesi 6'da .net çekirdek veya mvc6

yılında varlık çerçevesi 7'de silmek ama wich bilmiyorum nasıl paketi DNX'e yükleyin ve varlık çerçevesindeki yumuşak silme işlemini uygulayın. 7

lütfen bana yardım edin.

cevap

1

SaveChanges işlevini geçersiz kılabilirsiniz.

public override int SaveChanges() 
    { 
     var objectStateEntries = ChangeTracker.Entries() 
     .Where(e => e.Entity is BaseEntity && e.State != EntityState.Detached && e.State != EntityState.Unchanged).ToList(); 
     var currentTime = DateTime.UtcNow; 
     foreach (var entry in objectStateEntries) 
     { 
      var entityBase = entry.Entity as BaseEntity; 
      if (entityBase == null) continue; 
      switch (entry.State) 
      { 
       case EntityState.Deleted: 
        { 
         entry.State = EntityState.Modified; 
         entityBase.DeletedTime = currentTime; 
         entityBase.IsDeleted = true; 
         break; 
        } 
       case EntityState.Modified: 
        entityBase.UpdatedTime = currentTime; 
        break; 
       case EntityState.Added: 
        entityBase.CreatedTime = currentTime; 
        break; 
       default: 
        break; 
      } 
     } 
     return base.SaveChanges(); 
    } 

Benim BaseEntity Sınıfı:

public class BaseEntity 
{ 
    public Guid Id { get; set; } 
    public DateTime CreatedTime { get; set; } 
    public DateTime? UpdatedTime { get; set; } 
    public DateTime? DeletedTime { get; set; } 

    public bool IsDeleted { get; set; } 
} 
İlgili konular