Я хочу манипулировать объектом при первом его получении из базы данных.Я не уверен, где это лучшее место, чтобы сделать это.Я думал о создании своего собственного DbSet и переопределении метода Attach, но я не уверен, должен ли он там быть.Также при использовании моего собственного DbSet значение равно нулю.Я работаю с ядром платформы сущностей.
public partial class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
{
public string CurrentUserId { get; internal set; }
public ApplicationDbContext()
{
}
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public virtual MyDbSet<Tuser> Tuser { get; set; }
}
public class MyDbSet<T> : DbSet<T> where T:class
{
public MyDbSet():base()
{
}
public override EntityEntry<T> Attach( T entity)
{
if (entity == null)
{
throw new ArgumentNullException();
}
//Do some object manipulation
return base.Attach( entity);
}
}
При использовании MyDbSet context.Tuser имеет значение null.