Automatisches CreatedAt und UpdatedAt mit onModelCreating und einer generischen BaseEntityC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Automatisches CreatedAt und UpdatedAt mit onModelCreating und einer generischen BaseEntity

Post by Anonymous »

Ich versuche, so etwas wie diese akzeptierte Antwort zu implementieren, aber meine BaseEntity ist eine generische Klasse, die so aussieht:

Code: Select all

public abstract class BaseEntity
{
public TKey Id { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
Jetzt möchte ich den Timestamp-Zusatz für die SaveChangesAsync()-Methode implementieren, habe aber keine Ahnung, wie ich das machen soll. Mein Code sieht so aus:

Code: Select all

...
var entries = ChangeTracker
.Entries()
.Where(e => e.Entity is BaseEntity && (
e.State == EntityState.Added
|| e.State == EntityState.Modified));

foreach (var entityEntry in entries)
{
((BaseEntity)entityEntry.Entity).UpdatedAt = DateTime.Now;

if (entityEntry.State == EntityState.Added)
{
((BaseEntity)entityEntry.Entity).CreatedAt = DateTime.Now;
}
}
aber das Problem ist, dass BaseEntity ein generischer Typ ist, sodass der Vergleich nicht funktioniert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post