EF Core не изменил объект на немодифицированный ⇐ C#
-
Anonymous
EF Core не изменил объект на немодифицированный
Я хотел бы изменить свое свойство TransferedAt, не меняя при этом свойство ModifiedAt. Поэтому я не хочу, чтобы ChangeTracker распознавал изменение TransferedAt как изменение реального объекта. Потому что свойство ModifiedAt мне нужно для другой цели. Но этот код ничего не делает.
varententry = _context.Entry(document); entry.Property(x => x.TransferedAt).IsModified = false; document.TransferedAt = сейчас; Мой трекер изменений:
foreach (вар ent в this.ChangeTracker.Entries() .Where(p => p.State == EntityState.Added || p.State == EntityState.Modified || p.State == EntityState.Deleted)) { если (ent.State == EntityState.Added) { ((ICreated)ent.Entity).CreatedAt = сейчас; } иначе, если (ent.State == EntityState.Modified) { ((IModified)ent.Entity).ModifiedAt = сейчас; } иначе, если (ent.State == EntityState.Deleted) { ((IDeleted)ent.Entity).DeletedAt = сейчас; ent.State = EntityState.Modified; //Мягкое удаление } } Как я могу это сделать?
Я хотел бы изменить свое свойство TransferedAt, не меняя при этом свойство ModifiedAt. Поэтому я не хочу, чтобы ChangeTracker распознавал изменение TransferedAt как изменение реального объекта. Потому что свойство ModifiedAt мне нужно для другой цели. Но этот код ничего не делает.
varententry = _context.Entry(document); entry.Property(x => x.TransferedAt).IsModified = false; document.TransferedAt = сейчас; Мой трекер изменений:
foreach (вар ent в this.ChangeTracker.Entries() .Where(p => p.State == EntityState.Added || p.State == EntityState.Modified || p.State == EntityState.Deleted)) { если (ent.State == EntityState.Added) { ((ICreated)ent.Entity).CreatedAt = сейчас; } иначе, если (ent.State == EntityState.Modified) { ((IModified)ent.Entity).ModifiedAt = сейчас; } иначе, если (ent.State == EntityState.Deleted) { ((IDeleted)ent.Entity).DeletedAt = сейчас; ent.State = EntityState.Modified; //Мягкое удаление } } Как я могу это сделать?
Мобильная версия