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 });
         }
     }
 }
Пример #3
0
        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 });
                }
            }
        }
Пример #5
0
        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 });
                }
            }
        }