コード例 #1
0
        public void Initialize()
        {
            Context = new ReleaseContext(GlobalValues.UnitTestReinitializableConnectionString);

            reflector = new DbContextReflector(Context, GlobalValues.ReleaseContextModelsNamespace, GlobalValues.ReleaseContextModelsAssembly);
            comparer  = new EntityComparerByKeys();
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }