/// <summary> /// 注册SqlServer工作单元服务 /// </summary> /// <typeparam name="TService">工作单元接口类型</typeparam> /// <typeparam name="TImplementation">工作单元实现类型</typeparam> /// <param name="services">服务集合</param> /// <param name="connection">连接字符串</param> /// <param name="level">EF日志级别</param> /// <returns></returns> public static IServiceCollection AddSqlServerUnitOfWork <TService, TImplementation>( this IServiceCollection services, string connection, EfLogLevel level = EfLogLevel.Sql) where TService : class, IUnitOfWork where TImplementation : UnitOfWorkBase, TService { EfConfig.LogLevel = level; return(services.AddUnitOfWork <TService, TImplementation>(builder => { builder.UseSqlServer(connection); })); }
/// <summary> /// 注册工作单元服务 /// </summary> /// <typeparam name="TService">工作单元接口类型</typeparam> /// <typeparam name="TImplementation">工作单元实现类型</typeparam> /// <param name="services">服务集合</param> /// <param name="connection">连接字符串</param> /// <param name="level">Ef日志级别</param> public static IServiceCollection AddUnitOfWork <TService, TImplementation>(this IServiceCollection services, string connection, EfLogLevel level = EfLogLevel.Sql) where TService : class, IUnitOfWork where TImplementation : UnitOfWorkBase, TService { return(AddUnitOfWork <TService, TImplementation>(services, builder => { ConfigConnection <TImplementation>(builder, connection); }, config => config.EfLogLevel = level)); }
/// <summary> /// 注册工作单元服务 /// </summary> /// <typeparam name="TService">工作单元接口类型</typeparam> /// <typeparam name="TImplementation">工作单元实现类型</typeparam> /// <param name="services">服务集合</param> /// <param name="connectionName">参数名</param> /// <param name="level">EF日志级别</param> /// <returns></returns> public static void AddUnitOfWork <TService, TImplementation>(this ContainerBuilder services, string connectionName, EfLogLevel level = EfLogLevel.Sql) where TService : class, IUnitOfWork where TImplementation : UnitOfWorkBase, TService { EfConfig.LogLevel = level; services.AddScoped <TService, TImplementation>().WithParameter("connection", connectionName).PropertiesAutowired(); }