Fix #4010: update repositories to using db context factory.
This commit is contained in:
		| @ -8,16 +8,18 @@ namespace [Owner].Module.[Module].Repository | ||||
| { | ||||
|     public class [Module]Repository : I[Module]Repository, ITransientService | ||||
|     { | ||||
|         private readonly [Module]Context _db; | ||||
|         private readonly IDbContextFactory<[Module]Context> _factory; | ||||
|         private readonly [Module]Context _queryContext; | ||||
|  | ||||
|         public [Module]Repository([Module]Context context) | ||||
|         public [Module]Repository(IDbContextFactory<[Module]Context> factory) | ||||
|         { | ||||
|             _db = context; | ||||
|             _factory = factory; | ||||
|             _queryContext = _factory.CreateDbContext(); | ||||
|         } | ||||
|  | ||||
|         public IEnumerable<Models.[Module]> Get[Module]s(int ModuleId) | ||||
|         { | ||||
|             return _db.[Module].Where(item => item.ModuleId == ModuleId); | ||||
|             return _queryContext.[Module].Where(item => item.ModuleId == ModuleId); | ||||
|         } | ||||
|  | ||||
|         public Models.[Module] Get[Module](int [Module]Id) | ||||
| @ -27,35 +29,39 @@ namespace [Owner].Module.[Module].Repository | ||||
|  | ||||
|         public Models.[Module] Get[Module](int [Module]Id, bool tracking) | ||||
|         { | ||||
|             using var db = _factory.CreateDbContext(); | ||||
|             if (tracking) | ||||
|             { | ||||
|                 return _db.[Module].Find([Module]Id); | ||||
|                 return db.[Module].Find([Module]Id); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 return _db.[Module].AsNoTracking().FirstOrDefault(item => item.[Module]Id == [Module]Id); | ||||
|                 return db.[Module].AsNoTracking().FirstOrDefault(item => item.[Module]Id == [Module]Id); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public Models.[Module] Add[Module](Models.[Module] [Module]) | ||||
|         { | ||||
|             _db.[Module].Add([Module]); | ||||
|             _db.SaveChanges(); | ||||
|             using var db = _factory.CreateDbContext(); | ||||
|             db.[Module].Add([Module]); | ||||
|             db.SaveChanges(); | ||||
|             return [Module]; | ||||
|         } | ||||
|  | ||||
|         public Models.[Module] Update[Module](Models.[Module] [Module]) | ||||
|         { | ||||
|             _db.Entry([Module]).State = EntityState.Modified; | ||||
|             _db.SaveChanges(); | ||||
|             using var db = _factory.CreateDbContext(); | ||||
|             db.Entry([Module]).State = EntityState.Modified; | ||||
|             db.SaveChanges(); | ||||
|             return [Module]; | ||||
|         } | ||||
|  | ||||
|         public void Delete[Module](int [Module]Id) | ||||
|         { | ||||
|             Models.[Module] [Module] = _db.[Module].Find([Module]Id); | ||||
|             _db.[Module].Remove([Module]); | ||||
|             _db.SaveChanges(); | ||||
|             using var db = _factory.CreateDbContext(); | ||||
|             Models.[Module] [Module] = db.[Module].Find([Module]Id); | ||||
|             db.[Module].Remove([Module]); | ||||
|             db.SaveChanges(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Ben
					Ben