static void CheckDbUpdateConcurrencyExceptionWithDifferentUnitOfWorkAndContext() { var connectionString = ConfigurationManager.ConnectionStrings["BankDepositsDatabase"].ConnectionString; var optionsBuilder = new DbContextOptionsBuilder <BankDepositsContext>() .UseSqlServer(connectionString); using (var context1 = new BankDepositsContext(optionsBuilder.Options)) { var rand = new Random(); var unitOfWork = new UnitOfWork(context1); IAddressRepository addressRepository = new AddressRepository(unitOfWork); var address = new Address(); addressRepository.Create(address); address.Apartment = 5; address.House = 10; address.Housing = "A"; address.Street = new Street() { Locality = new Locality() { LocalityName = "Partizanski" + rand.NextDouble(), LocalityType = LocalityType.City, Region = "Minsk" }, StreetName = "Frolikova", Postcode = 220037 }; addressRepository.Commit().Wait(); var addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result; PrintAddresses(addresses); using (var context2 = new BankDepositsContext(optionsBuilder.Options)) { var unitOfWork2 = new UnitOfWork(context2); unitOfWork2.ExecuteQuery("Delete from dbo.Addresses where address_id = " + address.Id).Wait(); } addressRepository.Delete(address); addressRepository.Commit().Wait(); addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result; PrintAddresses(addresses); } Console.ReadLine(); }
static void UpdateUseCase() { var connectionString = ConfigurationManager.ConnectionStrings["BankDepositsDatabase"].ConnectionString; var optionsBuilder = new DbContextOptionsBuilder <BankDepositsContext>() .UseSqlServer(connectionString); using (var context = new BankDepositsContext(optionsBuilder.Options)) { var rand = new Random(); var unitOfWork = new UnitOfWork(context); IAddressRepository addressRepository = new AddressRepository(unitOfWork); var address = new Address(); addressRepository.Create(address); address.Apartment = 5; address.House = 10; address.Housing = "A"; address.Street = new Street() { Locality = new Locality() { LocalityName = "Partizanski" + rand.NextDouble(), LocalityType = LocalityType.City, Region = "Minsk" }, StreetName = "Frolikova", Postcode = 220037 }; addressRepository.Commit().Wait(); var addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result; PrintAddresses(addresses); var adr = addressRepository.GetById(address.Id, a => a.Street).Result; context.Entry(adr).State = EntityState.Detached; adr.Housing = "OLD"; adr.House = 0; addressRepository.Update(adr); addressRepository.Commit().Wait(); addresses = addressRepository.GetBy(null, a => a.Street).ToListAsync().Result; PrintAddresses(addresses); } Console.ReadLine(); }
public PassportsController(BankDepositsContext context, IEmployeeRepository employeeRepository, IIssuingAuthorityRepository issuingAuthorityRepository, ILocalityRepository localityRepository, IPhoneNumberOperatorRepository phoneNumberOperatorRepository, IIssuingAuthorityLocalityRepository issuingAuthorityLocalityRepository, IStreetRepository streetRepository) { _context = context; this.employeeRepository = employeeRepository; this.issuingAuthorityRepository = issuingAuthorityRepository; this.localityRepository = localityRepository; this.phoneNumberOperatorRepository = phoneNumberOperatorRepository; this.issuingAuthorityLocalityRepository = issuingAuthorityLocalityRepository; this.streetRepository = streetRepository; }
public DepositorsController(BankDepositsContext context) { _context = context; }
public EmployeesController(BankDepositsContext context) { _context = context; }
public StreetsController(BankDepositsContext context) { _context = context; }
public AccountsController(BankDepositsContext context) { _context = context; }
public IssuingAuthoritiesController(BankDepositsContext context) { _context = context; }
public PhoneNumberOperatorsController(BankDepositsContext context) { _context = context; }
public CurrencyConversionsController(BankDepositsContext context) { _context = context; }
public ContractsController(BankDepositsContext context) { _context = context; }
public LocalitiesController(BankDepositsContext context) { _context = context; }
public AddressesController(BankDepositsContext context) { _context = context; }