idk something about efcore

This commit is contained in:
Вячеслав 2025-03-25 22:05:28 +05:00
parent 751b08e805
commit 6732613466
8 changed files with 103 additions and 0 deletions

View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using SurveyBackend.Core.Models;
namespace SurveyBackend.Infrastructure.Data;
public class DataContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Group> Groups { get; set; }
public DataContext(DbContextOptions<DataContext> options) : base(options)
{
Database.EnsureCreated();
}
}

View file

@ -0,0 +1,44 @@
using Microsoft.EntityFrameworkCore;
using SurveyBackend.Core.Models;
using SurveyBackend.Core.Repositories;
using SurveyBackend.Infrastructure.Data;
namespace SurveyBackend.Infrastructure.Repositories;
public class UserRepository : IUserRepository
{
private readonly DataContext _context;
public UserRepository(DataContext context)
{
_context = context;
}
public async Task<User?> GetByIdAsync(int id)
{
return await _context.Users.FindAsync(id);
}
public async Task<IEnumerable<User>> GetAllAsync()
{
return await _context.Users.ToListAsync();
}
public async Task AddAsync(User entity)
{
await _context.Users.AddAsync(entity);
await _context.SaveChangesAsync();
}
public async Task UpdateAsync(User entity)
{
_context.Users.Update(entity);
await _context.SaveChangesAsync();
}
public async Task DeleteAsync(User entity)
{
_context.Users.Remove(entity);
await _context.SaveChangesAsync();
}
}

View file

@ -6,4 +6,12 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SurveyBackend.Core\SurveyBackend.Core.csproj" />
</ItemGroup>
</Project>