private void SetGlobalQueryFilters(ModelBuilder modelBuilder) { foreach (var tp in modelBuilder.Model.GetEntityTypes()) { var t = tp.ClrType; // set global filters if (typeof(ISoftDelete).IsAssignableFrom(t)) { //TODO future for Tenant //if (typeof(ITenantEntity).IsAssignableFrom(t)) //{ // // softdeletable and tenant (note do not filter just ITenant - too much filtering! // // just top level classes that have ITenantEntity // var method = SetGlobalQueryForSoftDeleteAndTenantMethodInfo.MakeGenericMethod(t); // method.Invoke(this, new object[] { modelBuilder }); //} //else //{ // softdeletable var method = SetGlobalQueryForSoftDeleteMethodInfo.MakeGenericMethod(t); method.Invoke(this, new object[] { modelBuilder }); //} } } }
protected void ApplySoftDeletesFilter(ModelBuilder modelBuilder) { foreach (var tp in modelBuilder.Model.GetEntityTypes()) { var t = tp.ClrType; if (typeof(ISoftDelete).IsAssignableFrom(t)) { var method = SetGlobalQueryForSoftDeleteMethodInfo.MakeGenericMethod(t); method.Invoke(this, new object[] { modelBuilder }); } } }
private void SetGlobalQueryFilters(ModelBuilder modelBuilder) { foreach (var entityType in modelBuilder.Model.GetEntityTypes()) { var entityClrType = entityType.ClrType; if (typeof(IDeletable).IsAssignableFrom(entityClrType) && !entityClrType.IsGenericType) { var method = SetGlobalQueryForSoftDeleteMethodInfo.MakeGenericMethod(entityClrType); method.Invoke(this, new object[] { modelBuilder }); } } }
private void SetGlobalQueryFilters(ModelBuilder modelBuilder) { foreach (Microsoft.EntityFrameworkCore.Metadata.IMutableEntityType tp in modelBuilder.Model.GetEntityTypes()) { Type t = tp.ClrType; // set Soft Delete Property if (typeof(ISoftDelete).IsAssignableFrom(t)) { MethodInfo method = SetGlobalQueryForSoftDeleteMethodInfo.MakeGenericMethod(t); method.Invoke(this, new object[] { modelBuilder }); } } }
private void SetGlobalQueryFilters(ModelBuilder modelBuilder) { foreach (var tp in modelBuilder.Model.GetEntityTypes()) { var t = tp.ClrType; // set global filters if (typeof(IAuditableEntity).IsAssignableFrom(t)) { // softdeletable var method = SetGlobalQueryForSoftDeleteMethodInfo.MakeGenericMethod(t); method.Invoke(this, new object[] { modelBuilder }); } } }