public void Initialize() { Context = new ReleaseContext(GlobalValues.UnitTestReinitializableConnectionString); reflector = new DbContextReflector(Context, GlobalValues.ReleaseContextModelsNamespace, GlobalValues.ReleaseContextModelsAssembly); comparer = new EntityComparerByKeys(); }
private TEntity UpdateEntity <TEntity>(TEntity model) where TEntity : class, IHasId { var reflector = new DbContextReflector(Context, GlobalValues.ReleaseContextModelsNamespace, GlobalValues.ReleaseContextModelsAssembly); IEntityUpdater updater = new ScalarPropertyUpdater(Context, reflector); return(updater.UpdateEntity(model)); }
public virtual void SaveModel(TModel model) { IDbContextReflector reflector = new DbContextReflector(DbContext, "RecordLabel.Data.Models", "ReleaseData"); IEntityUpdater scalarUpdater = new ScalarPropertyUpdater(DbContext, reflector); EntityComparerByKeys entityComparer = new EntityComparerByNonForeignKeys(); ICollectionMerger collectionMerger = new CollectionMerger(entityComparer); IRecursiveEntityUpdater updater = new EntityUpdater(DbContext, reflector, scalarUpdater, collectionMerger); IRecursiveEntityUpdater navUpdater = new NavigationPropertyUpdater(DbContext, scalarUpdater, reflector); updater.UpdateEntity <TModel>(model, navUpdater); }