static void Main(string[] args) { var sqlserver = new Apteka.SqlServer.AptekaSqlServerDbContext(); var postgres = new UniPos.Models.MyDbContext(); postgres.ChangeTracker.AutoDetectChangesEnabled = false; postgres.BeginTransaction(); try { /* * Sync<UniPos.Models.spCountry, Apteka.SqlServer.spCountries>.Run(sqlserver, postgres); * Sync<UniPos.Models.spRegion, Apteka.SqlServer.spRegions>.Run(sqlserver, postgres); * Sync<UniPos.Models.spDistrict, Apteka.SqlServer.spDistricts>.Run(sqlserver, postgres); * * DrugListSync.Run(sqlserver, postgres); * ProductSync.Run(sqlserver, postgres); * UserSync.Run(sqlserver, postgres); */ GfDrugListSync.Run(postgres); postgres.Commit(); } catch (Exception ee) { postgres.Rollback(); Console.WriteLine(ee.Message); } Console.WriteLine("OK"); }
public static void Run(AptekaSqlServerDbContext sqlserver, UniPos.Models.MyDbContext postgres) { var config = new MapperConfiguration(cfg => cfg.CreateMap <TSou, TDes>()); var mapper = config.CreateMapper(); sqlserver.Set <TSou>().Load(); var ls = sqlserver.Set <TSou>().AsNoTracking(); foreach (var it in ls) { var d = mapper.Map <TDes>(it); postgres.Set <TDes>().Add(d); } postgres.ChangeTracker.DetectChanges(); postgres.SaveChanges(); }