From 8790e7c7cf3664c9049b84d8cc6666ca1d328f7a Mon Sep 17 00:00:00 2001 From: shept Date: Sat, 31 May 2025 00:50:39 +0500 Subject: [PATCH] as no tracking get methods --- SurveyLib.Core/Repositories/IGenericRepository.cs | 3 ++- .../Repositories/AnswerRepository.cs | 5 +++++ .../Repositories/AnswerVariantsRepository.cs | 5 +++++ .../Repositories/CompletionRepository.cs | 5 +++++ .../Repositories/QuestionRepository.cs | 5 +++++ .../Repositories/SurveyRepository.cs | 5 +++++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/SurveyLib.Core/Repositories/IGenericRepository.cs b/SurveyLib.Core/Repositories/IGenericRepository.cs index 10f71ad..b128826 100644 --- a/SurveyLib.Core/Repositories/IGenericRepository.cs +++ b/SurveyLib.Core/Repositories/IGenericRepository.cs @@ -5,8 +5,9 @@ namespace SurveyLib.Core.Repositories; public interface IGenericRepository where T : class { Task GetByIdAsync(int id); + Task GetByIdAsNoTrackingAsync(int id); Task> GetAllAsync(); Task AddAsync(T entity); Task UpdateAsync(T entity); Task DeleteAsync(int id); -} +} \ No newline at end of file diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs index 88fbe40..742d3d9 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs @@ -19,6 +19,11 @@ public class AnswerRepository : IAnswerRepository throw new NotImplementedException(); } + public async Task GetByIdAsNoTrackingAsync(int id) + { + throw new NotImplementedException(); + } + public async Task> GetAllAsync() { return await _context.Answers.ToListAsync(); diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerVariantsRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerVariantsRepository.cs index 43e092e..9332cc7 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerVariantsRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerVariantsRepository.cs @@ -19,6 +19,11 @@ public class AnswerVariantsRepository : IAnswerVariantsRepository return await _context.AnswerVariants.FindAsync(id); } + public async Task GetByIdAsNoTrackingAsync(int id) + { + return await _context.AnswerVariants.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id); + } + public async Task> GetAllAsync() { return await _context.AnswerVariants.ToListAsync(); diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs index 489cd9d..e39c08c 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs @@ -19,6 +19,11 @@ public class CompletionRepository : ICompletionRepository return await _context.Completions.Include(c => c.Answers).FirstOrDefaultAsync(c => c.Id == id); } + public async Task GetByIdAsNoTrackingAsync(int id) + { + return await _context.Completions.AsNoTracking().FirstOrDefaultAsync(c => c.Id == id); + } + public async Task> GetAllAsync() { return await _context.Completions.ToListAsync(); diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/QuestionRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/QuestionRepository.cs index 0890a19..557552d 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/QuestionRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/QuestionRepository.cs @@ -19,6 +19,11 @@ public class QuestionRepository : IQuestionRepository return await _context.Questions.FindAsync(id); } + public async Task GetByIdAsNoTrackingAsync(int id) + { + return await _context.Questions.AsNoTracking().FirstOrDefaultAsync(x => x.Id == id); + } + public async Task> GetAllAsync() { return await _context.Questions.ToListAsync(); diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/SurveyRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/SurveyRepository.cs index 91fe549..743cac8 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/SurveyRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/SurveyRepository.cs @@ -19,6 +19,11 @@ public class SurveyRepository : ISurveyRepository return await _context.Surveys.FindAsync(id); } + public async Task GetByIdAsNoTrackingAsync(int id) + { + return await _context.Surveys.AsNoTracking().FirstOrDefaultAsync(c => c.Id == id); + } + public async Task> GetAllAsync() { return await _context.Surveys.ToListAsync();