Kaynağa Gözat

fixed: injection BaseRepository

xf 1 yıl önce
ebeveyn
işleme
96b9d712f9

+ 1 - 0
src/Sharing.Api/StartupExtensions.cs

@@ -31,6 +31,7 @@ internal static class StartupExtensions
         // Add services to the container.
         services
             .BatchInjectServices()
+            .RegisterRepository()
             .AddSharingProvince()
             .AddApplication()
             .AddSharingPoliceDS()

+ 9 - 0
src/Sharing.Api/StartupHelper.cs

@@ -5,7 +5,9 @@ using MapsterMapper;
 using Microsoft.AspNetCore.Authentication.JwtBearer;
 using Microsoft.IdentityModel.Tokens;
 using Microsoft.OpenApi.Models;
+using Sharing.Repository;
 using XF.Domain.Entities;
+using XF.Domain.Repository;
 
 namespace Sharing.Api
 {
@@ -175,5 +177,12 @@ namespace Sharing.Api
 
             return builder;
         }
+
+        public static IServiceCollection RegisterRepository(this IServiceCollection services)
+        {
+            services.AddScoped(typeof(IRepository<>), typeof(BaseRepository<>));
+
+            return services;
+        }
     }
 }

+ 5 - 1
src/Sharing.Repository/BaseRepository.cs

@@ -5,7 +5,7 @@ using XF.Domain.Repository;
 
 namespace Sharing.Repository
 {
-    public abstract class BaseRepository<TEntity> : IRepository<TEntity> where TEntity : class, IEntity<string>, IHasCreationTime, IDataPermission, new()
+    public class BaseRepository<TEntity> : IRepository<TEntity> where TEntity : class, IEntity<string>, IHasCreationTime, IDataPermission, new()
     {
         //private readonly IDataPermissionFilterBuilder _dataPermissionFilterBuilder;
         protected ISugarUnitOfWork<SharingDbContext> Uow { get; }
@@ -156,6 +156,10 @@ namespace Sharing.Repository
             return query;
         }
 
+        public IUpdateable<TEntity> Updateable() => Db.Updateable<TEntity>();
+
+        public IDeleteable<TEntity> Removeable() => Db.Deleteable<TEntity>();
+
         public UpdateNavTaskInit<TEntity, TEntity> UpdateNav(TEntity entity) => Db.UpdateNav(entity);
 
         public UpdateNavTaskInit<TEntity, TEntity> UpdateNav(TEntity entity, UpdateNavRootOptions options) => Db.UpdateNav(entity, options);

+ 2 - 2
src/Sharing/Sharing.csproj

@@ -12,8 +12,8 @@
     <PackageReference Include="Mapster" Version="7.3.0" />
     <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
     <PackageReference Include="XF.Utility.MQ" Version="1.0.5" />
-    <PackageReference Include="XF.Domain" Version="1.0.8" />
-    <PackageReference Include="XF.Domain.Repository" Version="1.0.4" />
+    <PackageReference Include="XF.Domain" Version="1.0.9" />
+    <PackageReference Include="XF.Domain.Repository" Version="1.0.5" />
   </ItemGroup>
 
   <ItemGroup>