Мне нужно получить значение свойства из отношения в ChangeTracker EF.
У меня есть класс:
public class ClienteInfo
{
public Guid Id { get; set; }
public Guid IdTipoCliente { get; set; }
public string Nome { get; set; }
public bool Ativo { get; set; }
public bool Bloqueado { get; set; }
public virtual TipoClienteInfo TipoCliente { get; set; }
}
public class TipoClienteInfo
{
public Guid Id { get; set; }
public string Nome { get; set; }
public bool Ativo { get; set; }
public virtual ICollection<ClienteInfo> Clientes { get; set; }
}
Для аудита журнала, для свойства IdTipoCliente получить свойство Nome изTipoClienteInfo
Мой ContextClass:
public class DataBaseContext : DbContext
{
public DbSet<ClienteInfo> Cliente { get; set; }
public DbSet<TipoClienteInfo> TipoCliente { get; set; }
public override async Task<int> SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken = default(CancellationToken))
{
ChangeTracker.DetectChanges();
foreach (var entry in ChangeTracker.Entries())
{
foreach (var property in entry.Properties)
{
//GET HERE THE VALUE
}
}
var result = await base.SaveChangesAsync(acceptAllChangesOnSuccess, cancellationToken);
return result;
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
RegisterMaps(modelBuilder);
}
public static void RegisterMaps(ModelBuilder builder)
{
builder.ApplyConfiguration(new ClienteMaps());
builder.ApplyConfiguration(new TipoClienteMaps());
}
}
Я думаю, что использовать атрибут, улучшение, но не работает.