Mam swój podstawowy projekt w języku C#.Entity Framework 6: audyt/zmiany ścieżek
Pracuję w bazie danych, w której niektóre tabele mają kolumny "user_mod" i "date_mod", aby podpisać, kto i kiedy zrobił kilka modów i to samo z "data_new" i "user_new".
Moje pytanie: czy istnieje sposób na scentralizowanie tego i automatyczne wstawienie tych danych, gdzie utworzę instancję dbContext
?
Jeśli nie, użyję narzędzia audytu. Widziałem niektóre z nich, ale jest problem: wszystkie te wymagają kodu w moim modelu. Ale nie chcę pisać w moim modelu, ponieważ jeśli będę musiał to zmienić, stracę mody. Czy jest możliwe wykorzystanie śladu rewizyjnego dla EF6 bez zapisu w pliku (plikach) modelu? W jaki sposób?
EDIT:
Moja próba zastępują SaveChanges.
public partial class PieEntities : DbContext
{
public override int SaveChanges(System.Data.Objects.SaveOptions options)
{
var timestamp = DateTime.Now;
EntityState es = EntityState.Added;
ObjectStateManager o = new ObjectStateManager();
foreach (ObjectStateEntry entry in o.GetObjectStateEntries(EntityState.Added)) {
if (entry.Entity.GetType() == typeof(TabImpianti)) {
TabImpianti impianto = entry.Entity as TabImpianti;
impianto.DATA_INS = timestamp;
impianto.DATA_MOD = timestamp;
string u = mdlImpostazioni.p.UserName;
impianto.USER_INS = u;
impianto.USER_MOD = u;
}
}
return base.SaveChanges(options);
}
}
UPDATE: Mam podsumował solution here.
możliwe duplikat [Entity Framework DbContext SaveChanges() OriginalValue Nieprawidłowa] (http://stackoverflow.com/ pytania/9588352/entity-framework-dbcontext-savechanges-originalvalue-incorrect). W tej dziedzinie jest znacznie więcej wysiłków. Poszukaj Entity Framework + auditing. –
@GertArnold dlaczego? Nie sądzę. Co więcej, chodzi o EF4, dwie wersje starsze ode mnie. –
Cóż, wybrałem losową z długiej listy trafień podczas wyszukiwania StackOverflow na ten temat. Zwykle jest to nadpisywanie 'SaveChanges', które jest takie samo w EF4.W EF6 możesz zaryzykować coś w obszarze przechwytujących drzewiastych komend, ale nie jestem pewien, gdzie to cię zaprowadzi. –