OL.FrameCore.Infrastructure/UnitOfWork/UnitOfWorkServiceCollectionExtensions.cs

(完整代码) 1KB

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using OL.FrameCore.Infrastructure.Code;

namespace OL.FrameCore.Infrastructure.UnitOfWork
{
    public static class UnitOfWorkServiceCollectionExtensions
    {
		public static IServiceCollection AddUnitOfWork<TContext>(this IServiceCollection services) where TContext : DbContext
		{
			//ServiceCollectionServiceExtensions.AddScoped<IRepositoryFactory, UnitOfWork<TContext>>(services);
			//ServiceCollectionServiceExtensions.AddScoped<IRepositoryBase<TEntity>, RepositoryBase<TEntity>>(services);
			ServiceCollectionServiceExtensions.AddScoped<IUnitOfWork, EFUnitOfWork<TContext>>(services);
			ServiceCollectionServiceExtensions.AddScoped<IUnitOfWork<TContext>, EFUnitOfWork<TContext>>(services);
			//ServiceCollectionServiceExtensions.AddScoped<typeof( IRepositoryBase<>), typeof(RepositoryBase<>)> (services);

			services.RegisterScope(typeof(IRepositoryBase<>));

			return services;
		}

		public static IServiceCollection AddReadUnitOfWork<TContext>(this IServiceCollection services) where TContext : DbContext
		{
			//ServiceCollectionServiceExtensions.AddScoped<IRepositoryFactory, UnitOfWork<TContext>>(services);
			//ServiceCollectionServiceExtensions.AddScoped<IRepositoryBase<TEntity>, RepositoryBase<TEntity>>(services);
			//ServiceCollectionServiceExtensions.AddScoped<IUnitOfWork, EFUnitOfWork<TContext>>(services);
			ServiceCollectionServiceExtensions.AddScoped<IUnitOfWork<TContext>, EFUnitOfWork<TContext>>(services);
			//ServiceCollectionServiceExtensions.AddScoped<typeof( IRepositoryBase<>), typeof(RepositoryBase<>)> (services);

			//services.RegisterScope(typeof(IRepositoryBase<>));

			return services;
		}

	}
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。