- 增加 IFreeSql.GlobalFilter 全局过滤器;

- 移除 TableAttribute.SelectFilter 功能;
This commit is contained in:
28810
2019-10-24 02:17:22 +08:00
parent 5b0b678c27
commit b97156b482
46 changed files with 271 additions and 148 deletions

View File

@ -0,0 +1,38 @@
#if ns20
using System;
using System.Reflection;
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
namespace FreeSql
{
public static class FreeSqlRepositoryDependencyInjection
{
public static IServiceCollection AddFreeRepository(this IServiceCollection services, Action<FluentDataFilter> globalDataFilter = null, params Assembly[] assemblies)
{
DataFilterUtil._globalDataFilter = globalDataFilter;
services.AddScoped(typeof(IReadOnlyRepository<>), typeof(GuidRepository<>));
services.AddScoped(typeof(IBasicRepository<>), typeof(GuidRepository<>));
services.AddScoped(typeof(BaseRepository<>), typeof(GuidRepository<>));
services.AddScoped(typeof(GuidRepository<>));
services.AddScoped(typeof(IReadOnlyRepository<,>), typeof(DefaultRepository<,>));
services.AddScoped(typeof(IBasicRepository<,>), typeof(DefaultRepository<,>));
services.AddScoped(typeof(BaseRepository<,>), typeof(DefaultRepository<,>));
services.AddScoped(typeof(DefaultRepository<,>));
if (assemblies?.Any() == true)
foreach (var asse in assemblies)
foreach (var repo in asse.GetTypes().Where(a => a.IsAbstract == false && typeof(IBaseRepository).IsAssignableFrom(a)))
services.AddScoped(repo);
return services;
}
}
}
#endif