Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
Consulta de filtro global de EF Core por ID de usuario

Tengo una situación en la que me gustaría filtrar tablas por ID de usuario conectado o, para ser exactos, algún campo llamado AllowedVehicles . La cuestión es que identityContext ha llenado el campo AllowedVehicles solo cuando está conectado y después de que la propiedad AllowedVehicles realmente se lea de la base de datos. Mi código no funciona ya que AllowedVehicles es una lista vacía una vez que se ejecuta OnModelCreating y se ejecuta solo una vez .

¿Cómo puedo hacer una consulta de filtro global en este caso?

 protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyGlobalFilters<IBaseEntity>(x => x.DeletedAt == null); if (_identityContext != null && _identityContext.AllowedVehicles.Count() > 0) { modelBuilder.ApplyGlobalFilters<Vehicle>(x => _identityContext.AllowedVehicles.Select(x => x.Id).Contains(x.Id)); } }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

OnModelCreating se llama solo una vez por clase DbContext. Y no tiene que esperar que pueda aplicar el filtro condicionalmente.

Una solución es definir sus condiciones en el filtro:

 protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyGlobalFilters<IBaseEntity>(x => x.DeletedAt == null); modelBuilder.ApplyGlobalFilters<Vehicle>(x => _identityContext == null || !_identityContext.AllowedVehicles.Any() || _identityContext.AllowedVehicles.Select(x => x.Id).Contains(x.Id) ); }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!