A ChangedBy property can be added and populated on your change entities, to store who changes are made by.
- Implement the
IHasChangedBy<TChangedBy>interface on your change entity:public class UserChange : IChange<User>, IHasChangedBy<User> { ... - Create a
ChangedByProviderby inheriting theChangedByProvider<TChangedBy>class and overriding the required method(s):public class MyChangedByProvider : ChangedByProvider<User> { public override Task<User> GetChangedByAsync() { return Task.FromResult(new User { Id = 1}); } } - Add the
UseChangedBy<TChangedByProvider, TChangedBy>()option to your DbContextOptions, specifying yourChangedByProviderand ChangedBy type:services.AddDbContext<MyDbContext>(options => { options .UseSqlServerChangeTriggers(options => { options.UseChangedBy<MyChangedByProvider, User>() }); } - Create a migration if required:
dotnet ef migrations add ChangedBy