public class UnitOfWork : IUnitOfWork, IDisposable { private readonly ApplicationDbContext _context; private IRepository<Kurs> _kursRepository; public UnitOfWork(ApplicationDbContext context) { _context = context; } public IRepository<Kurs> KursRepository { get { if (_kursRepository == null) { _kursRepository = new Repository<Kurs>(_context); } return _kursRepository; } } public int Complete() { return _context.SaveChanges(); } public void Dispose() { _context.Dispose(); } }
public class UnitOfWork : IUnitOfWork, IDisposable { private readonly ApplicationDbContext _context; private IRepository<Kurs> _kursRepository; public UnitOfWork(ApplicationDbContext context) { _context = context; } public IRepository<Kurs> KursRepository { get { if (_kursRepository == null) { _kursRepository = new Repository<Kurs>(_context); } return _kursRepository; } } public int Complete() { return _context.SaveChanges(); } public void Dispose() { _context.Dispose(); } }
public class UnitOfWork : IUnitOfWork, IDisposable { private readonly ApplicationDbContext _context; private IRepository<Kurs> _kursRepository; public UnitOfWork(ApplicationDbContext context) { _context = context; } public IRepository<Kurs> KursRepository { get { if (_kursRepository == null) { _kursRepository = new Repository<Kurs>(_context); } return _kursRepository; } } public int Complete() { return _context.SaveChanges(); } public void Dispose() { _context.Dispose(); } }
services.AddDbContext<MyDbContext>(...)
var entities = _repo.List(); //annan tråd muterar data i db här, sedan når din tråd raden under entities .ForEach(e => e.MyProp = foo); //Utan Concurrency token kommer savechanges inte smälla här och du har potentiellt korruptat data. _db.SaveChanges();
Du måste vara medlem för att kunna kommentera
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106