mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 修复 Repository.DataFilter 对 GlobalFilter 控制无效的 bug;#1028 #846
This commit is contained in:
		@@ -289,6 +289,18 @@ namespace base_entity
 | 
				
			|||||||
                });
 | 
					                });
 | 
				
			||||||
            sql1 = sql1.Replace("INNER JOIN ", "FULL JOIN ");
 | 
					            sql1 = sql1.Replace("INNER JOIN ", "FULL JOIN ");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //fsql.Select<UserGroup>()
 | 
				
			||||||
 | 
					            //    .ToList(a => new
 | 
				
			||||||
 | 
					            //    {
 | 
				
			||||||
 | 
					            //        users1 = fsql.Select<User1>().Where(b => b.GroupId == a.Id).ToList(false),
 | 
				
			||||||
 | 
					            //        users2 = fsql.Select<User1>().Where(b => b.GroupId == a.Id).ToList(b => new
 | 
				
			||||||
 | 
					            //        {
 | 
				
			||||||
 | 
					            //            userid = b.Id,
 | 
				
			||||||
 | 
					            //            username = b.Username
 | 
				
			||||||
 | 
					            //        }),
 | 
				
			||||||
 | 
					            //        //users3 = fsql.Ado.Query<User1>("select * from user1 where groupid = @id", new { id = a.Id })
 | 
				
			||||||
 | 
					            //    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            fsql.UseJsonMap();
 | 
					            fsql.UseJsonMap();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -559,14 +559,5 @@
 | 
				
			|||||||
            <param name="that"></param>
 | 
					            <param name="that"></param>
 | 
				
			||||||
            <returns></returns>
 | 
					            <returns></returns>
 | 
				
			||||||
        </member>
 | 
					        </member>
 | 
				
			||||||
        <member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
 | 
					 | 
				
			||||||
            <summary>
 | 
					 | 
				
			||||||
            批量注入 Repository,可以参考代码自行调整
 | 
					 | 
				
			||||||
            </summary>
 | 
					 | 
				
			||||||
            <param name="services"></param>
 | 
					 | 
				
			||||||
            <param name="globalDataFilter"></param>
 | 
					 | 
				
			||||||
            <param name="assemblies"></param>
 | 
					 | 
				
			||||||
            <returns></returns>
 | 
					 | 
				
			||||||
        </member>
 | 
					 | 
				
			||||||
    </members>
 | 
					    </members>
 | 
				
			||||||
</doc>
 | 
					</doc>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,8 +22,9 @@ namespace FreeSql
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var filters = (_repo.DataFilter as DataFilter<TEntity>)._filters;
 | 
					            var filters = (_repo.DataFilter as DataFilter<TEntity>)._filters;
 | 
				
			||||||
            foreach (var filter in filters.Where(a => a.Value.IsEnabled == true)) select.Where(filter.Value.Expression);
 | 
					            foreach (var filter in filters.Where(a => a.Value.IsEnabled == true)) select.Where(filter.Value.Expression);
 | 
				
			||||||
            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToArray();
 | 
					            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToList();
 | 
				
			||||||
            if (disableFilter.Any()) select.DisableGlobalFilter();
 | 
					            disableFilter.AddRange((_repo.DataFilter as DataFilter<TEntity>)._filtersByOrm.Where(a => a.Value.IsEnabled == false).Select(a => a.Key));
 | 
				
			||||||
 | 
					            if (disableFilter.Any()) select.DisableGlobalFilter(disableFilter.ToArray());
 | 
				
			||||||
            return select;
 | 
					            return select;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        internal ISelect<TEntity> OrmSelectInternal(object dywhere) => OrmSelect(dywhere);
 | 
					        internal ISelect<TEntity> OrmSelectInternal(object dywhere) => OrmSelect(dywhere);
 | 
				
			||||||
@@ -39,8 +40,9 @@ namespace FreeSql
 | 
				
			|||||||
                            throw new Exception($"FreeSql.Repository Update 失败,因为设置了过滤器 {filter.Key}: {filter.Value.Expression},更新的数据不符合 {_db.OrmOriginal.GetEntityString(_entityType, entity)}");
 | 
					                            throw new Exception($"FreeSql.Repository Update 失败,因为设置了过滤器 {filter.Key}: {filter.Value.Expression},更新的数据不符合 {_db.OrmOriginal.GetEntityString(_entityType, entity)}");
 | 
				
			||||||
                update.Where(filter.Value.Expression);
 | 
					                update.Where(filter.Value.Expression);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToArray();
 | 
					            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToList();
 | 
				
			||||||
            if (disableFilter.Any()) update.DisableGlobalFilter();
 | 
					            disableFilter.AddRange((_repo.DataFilter as DataFilter<TEntity>)._filtersByOrm.Where(a => a.Value.IsEnabled == false).Select(a => a.Key));
 | 
				
			||||||
 | 
					            if (disableFilter.Any()) update.DisableGlobalFilter(disableFilter.ToArray());
 | 
				
			||||||
            return update;
 | 
					            return update;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        internal IUpdate<TEntity> OrmUpdateInternal(IEnumerable<TEntity> entitys) => OrmUpdate(entitys);
 | 
					        internal IUpdate<TEntity> OrmUpdateInternal(IEnumerable<TEntity> entitys) => OrmUpdate(entitys);
 | 
				
			||||||
@@ -49,8 +51,9 @@ namespace FreeSql
 | 
				
			|||||||
            var delete = base.OrmDelete(dywhere).AsTable(_repo.AsTableValueInternal);
 | 
					            var delete = base.OrmDelete(dywhere).AsTable(_repo.AsTableValueInternal);
 | 
				
			||||||
            var filters = (_repo.DataFilter as DataFilter<TEntity>)._filters;
 | 
					            var filters = (_repo.DataFilter as DataFilter<TEntity>)._filters;
 | 
				
			||||||
            foreach (var filter in filters.Where(a => a.Value.IsEnabled == true)) delete.Where(filter.Value.Expression);
 | 
					            foreach (var filter in filters.Where(a => a.Value.IsEnabled == true)) delete.Where(filter.Value.Expression);
 | 
				
			||||||
            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToArray();
 | 
					            var disableFilter = filters.Where(a => a.Value.IsEnabled == false).Select(a => a.Key).ToList();
 | 
				
			||||||
            if (disableFilter.Any()) delete.DisableGlobalFilter();
 | 
					            disableFilter.AddRange((_repo.DataFilter as DataFilter<TEntity>)._filtersByOrm.Where(a => a.Value.IsEnabled == false).Select(a => a.Key));
 | 
				
			||||||
 | 
					            if (disableFilter.Any()) delete.DisableGlobalFilter(disableFilter.ToArray());
 | 
				
			||||||
            return delete;
 | 
					            return delete;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        internal IDelete<TEntity> OrmDeleteInternal(object dywhere) => OrmDelete(dywhere);
 | 
					        internal IDelete<TEntity> OrmDeleteInternal(object dywhere) => OrmDelete(dywhere);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,9 @@
 | 
				
			|||||||
using System;
 | 
					using FreeSql.Internal;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Concurrent;
 | 
					using System.Collections.Concurrent;
 | 
				
			||||||
using System.Linq.Expressions;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Linq.Expressions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace FreeSql
 | 
					namespace FreeSql
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -48,8 +49,14 @@ namespace FreeSql
 | 
				
			|||||||
            public Func<TEntity, bool> ExpressionDelegate => _expressionDelegate ?? (_expressionDelegate = Expression?.Compile());
 | 
					            public Func<TEntity, bool> ExpressionDelegate => _expressionDelegate ?? (_expressionDelegate = Expression?.Compile());
 | 
				
			||||||
            public bool IsEnabled { get; set; }
 | 
					            public bool IsEnabled { get; set; }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        internal class FilterItemByOrm
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            public GlobalFilter.Item Filter { get; set; }
 | 
				
			||||||
 | 
					            public bool IsEnabled { get; set; }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        internal ConcurrentDictionary<string, FilterItem> _filters = new ConcurrentDictionary<string, FilterItem>(StringComparer.CurrentCultureIgnoreCase);
 | 
					        internal ConcurrentDictionary<string, FilterItem> _filters = new ConcurrentDictionary<string, FilterItem>(StringComparer.CurrentCultureIgnoreCase);
 | 
				
			||||||
 | 
					        internal ConcurrentDictionary<string, FilterItemByOrm> _filtersByOrm = new ConcurrentDictionary<string, FilterItemByOrm>(StringComparer.CurrentCultureIgnoreCase);
 | 
				
			||||||
        public IDataFilter<TEntity> Apply(string filterName, Expression<Func<TEntity, bool>> filterAndValidateExp)
 | 
					        public IDataFilter<TEntity> Apply(string filterName, Expression<Func<TEntity, bool>> filterAndValidateExp)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -67,6 +74,7 @@ namespace FreeSql
 | 
				
			|||||||
            if (filterName == null || filterName.Any() == false) return new UsingAny(() => { });
 | 
					            if (filterName == null || filterName.Any() == false) return new UsingAny(() => { });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            List<string> restore = new List<string>();
 | 
					            List<string> restore = new List<string>();
 | 
				
			||||||
 | 
					            List<string> restoreByOrm = new List<string>();
 | 
				
			||||||
            foreach (var name in filterName)
 | 
					            foreach (var name in filterName)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (_filters.TryGetValue(name, out var tryfi))
 | 
					                if (_filters.TryGetValue(name, out var tryfi))
 | 
				
			||||||
@@ -77,12 +85,33 @@ namespace FreeSql
 | 
				
			|||||||
                        tryfi.IsEnabled = false;
 | 
					                        tryfi.IsEnabled = false;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (tryfiByOrm.IsEnabled)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        restoreByOrm.Add(name);
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = false;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
            return new UsingAny(() => this.Enable(restore.ToArray()));
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return new UsingAny(() =>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                restore.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filters.TryGetValue(name, out var tryfi) && tryfi.IsEnabled == false)
 | 
				
			||||||
 | 
					                        tryfi.IsEnabled = true;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                restoreByOrm.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm) && tryfiByOrm.IsEnabled == false)
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = true;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public IDisposable DisableAll()
 | 
					        public IDisposable DisableAll()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            List<string> restore = new List<string>();
 | 
					            List<string> restore = new List<string>();
 | 
				
			||||||
 | 
					            List<string> restoreByOrm = new List<string>();
 | 
				
			||||||
            foreach (var val in _filters)
 | 
					            foreach (var val in _filters)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (val.Value.IsEnabled)
 | 
					                if (val.Value.IsEnabled)
 | 
				
			||||||
@@ -91,7 +120,27 @@ namespace FreeSql
 | 
				
			|||||||
                    val.Value.IsEnabled = false;
 | 
					                    val.Value.IsEnabled = false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return new UsingAny(() => this.Enable(restore.ToArray()));
 | 
					            foreach (var val in _filtersByOrm)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (val.Value.IsEnabled)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    restoreByOrm.Add(val.Key);
 | 
				
			||||||
 | 
					                    val.Value.IsEnabled = false;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return new UsingAny(() =>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                restore.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filters.TryGetValue(name, out var tryfi) && tryfi.IsEnabled == false)
 | 
				
			||||||
 | 
					                        tryfi.IsEnabled = true;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                restoreByOrm.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm) && tryfiByOrm.IsEnabled == false)
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = true;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        class UsingAny : IDisposable
 | 
					        class UsingAny : IDisposable
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -111,6 +160,7 @@ namespace FreeSql
 | 
				
			|||||||
            if (filterName == null || filterName.Any() == false) return new UsingAny(() => { });
 | 
					            if (filterName == null || filterName.Any() == false) return new UsingAny(() => { });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            List<string> restore = new List<string>();
 | 
					            List<string> restore = new List<string>();
 | 
				
			||||||
 | 
					            List<string> restoreByOrm = new List<string>();
 | 
				
			||||||
            foreach (var name in filterName)
 | 
					            foreach (var name in filterName)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (_filters.TryGetValue(name, out var tryfi))
 | 
					                if (_filters.TryGetValue(name, out var tryfi))
 | 
				
			||||||
@@ -121,12 +171,33 @@ namespace FreeSql
 | 
				
			|||||||
                        tryfi.IsEnabled = true;
 | 
					                        tryfi.IsEnabled = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (tryfiByOrm.IsEnabled == false)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        restoreByOrm.Add(name);
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
            return new UsingAny(() => this.Disable(restore.ToArray()));
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return new UsingAny(() =>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                restore.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filters.TryGetValue(name, out var tryfi) && tryfi.IsEnabled == true)
 | 
				
			||||||
 | 
					                        tryfi.IsEnabled = false;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                restoreByOrm.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm) && tryfiByOrm.IsEnabled == true)
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = false;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public IDisposable EnableAll()
 | 
					        public IDisposable EnableAll()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            List<string> restore = new List<string>();
 | 
					            List<string> restore = new List<string>();
 | 
				
			||||||
 | 
					            List<string> restoreByOrm = new List<string>();
 | 
				
			||||||
            foreach (var val in _filters)
 | 
					            foreach (var val in _filters)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (val.Value.IsEnabled == false)
 | 
					                if (val.Value.IsEnabled == false)
 | 
				
			||||||
@@ -135,13 +206,34 @@ namespace FreeSql
 | 
				
			|||||||
                    val.Value.IsEnabled = true;
 | 
					                    val.Value.IsEnabled = true;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            return new UsingAny(() => this.Disable(restore.ToArray()));
 | 
					            foreach (var val in _filtersByOrm)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (val.Value.IsEnabled == false)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    restoreByOrm.Add(val.Key);
 | 
				
			||||||
 | 
					                    val.Value.IsEnabled = true;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return new UsingAny(() =>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                restore.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filters.TryGetValue(name, out var tryfi) && tryfi.IsEnabled == true)
 | 
				
			||||||
 | 
					                        tryfi.IsEnabled = false;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					                restoreByOrm.ForEach(name =>
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (_filtersByOrm.TryGetValue(name, out var tryfiByOrm) && tryfiByOrm.IsEnabled == true)
 | 
				
			||||||
 | 
					                        tryfiByOrm.IsEnabled = false;
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool IsEnabled(string filterName)
 | 
					        public bool IsEnabled(string filterName)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (filterName == null) return false;
 | 
					            if (filterName == null) return false;
 | 
				
			||||||
            return _filters.TryGetValue(filterName, out var tryfi) ? tryfi.IsEnabled : false;
 | 
					            return _filters.TryGetValue(filterName, out var tryfi) ? tryfi.IsEnabled :
 | 
				
			||||||
 | 
					                _filtersByOrm.TryGetValue(filterName, out var tryfiByOrm) ? tryfiByOrm.IsEnabled : false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ~DataFilter() => this.Dispose();
 | 
					        ~DataFilter() => this.Dispose();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,6 +29,15 @@ namespace FreeSql
 | 
				
			|||||||
            DataFilterUtil.SetRepositoryDataFilter(this, null);
 | 
					            DataFilterUtil.SetRepositoryDataFilter(this, null);
 | 
				
			||||||
            DataFilter.Apply("", filter);
 | 
					            DataFilter.Apply("", filter);
 | 
				
			||||||
            AsTable(asTable);
 | 
					            AsTable(asTable);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            fsql.GlobalFilter.GetFilters().ForEach(gf =>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                (DataFilter as DataFilter<TEntity>)._filtersByOrm.TryAdd(gf.Name, new DataFilter<TEntity>.FilterItemByOrm
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Filter = gf,
 | 
				
			||||||
 | 
					                    IsEnabled = true
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ~BaseRepository() => this.Dispose();
 | 
					        ~BaseRepository() => this.Dispose();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -382,6 +382,16 @@ namespace FreeSql.Tests
 | 
				
			|||||||
            var gft2 = g.mysql.Select<gf_t2>().Where(a => a.id == Guid.NewGuid()).ToList();
 | 
					            var gft2 = g.mysql.Select<gf_t2>().Where(a => a.id == Guid.NewGuid()).ToList();
 | 
				
			||||||
            var gft3 = g.mysql.Select<gf_t3>().Where(a => a.id == Guid.NewGuid()).ToList();
 | 
					            var gft3 = g.mysql.Select<gf_t3>().Where(a => a.id == Guid.NewGuid()).ToList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var repo1 = g.mysql.GetRepository<gf_t1, Guid>();
 | 
				
			||||||
 | 
					            using (repo1.DataFilter.Disable("gft1", "gft2", "gft3"))
 | 
				
			||||||
 | 
					                repo1.Get(Guid.NewGuid());
 | 
				
			||||||
 | 
					            var repo2 = g.mysql.GetRepository<gf_t2, Guid>();
 | 
				
			||||||
 | 
					            using (repo2.DataFilter.Disable("gft1", "gft2", "gft3"))
 | 
				
			||||||
 | 
					                repo2.Get(Guid.NewGuid());
 | 
				
			||||||
 | 
					            var repo3 = g.mysql.GetRepository<gf_t3, Guid>();
 | 
				
			||||||
 | 
					            using (repo3.DataFilter.Disable("gft1", "gft2", "gft3"))
 | 
				
			||||||
 | 
					                repo3.Get(Guid.NewGuid());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            g.sqlserver.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
					            g.sqlserver.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
            g.mysql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
					            g.mysql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
            g.pgsql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
					            g.pgsql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user