示例#1
0
 public SimpleDeleter(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
 {
     this.Info     = info;
     this.Composer = composer;
     this.Provider = provider;
     this.Handler  = handler;
 }
示例#2
0
 public SimpleObjectSaver(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
 {
     this.Info = info;
     this.Composer = composer;
     this.Provider = provider;
     this.Handler = handler;
 }
示例#3
0
 public static SimpleDeleter CreateDeleter(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
 {
     if(info.HasRelation)
     {
         return new RelationModelDeleter(info, composer, provider, handler);
     }
     if(info.HasOnePrimaryKey && info.KeyMembers[0].UnsavedValue != null)
     {
         return new KeyModelDeleter(info, composer, provider, handler);
     }
     return new SimpleDeleter(info, composer, provider, handler);
 }
示例#4
0
 private ModelContext(Type t)
 {
     Info     = ObjectInfoFactory.Instance.GetInstance(t);
     Provider = DataProviderFactory.Instance.GetInstance(Info.ContextName);
     Composer = GetQueryComposer();
     if (LoadHandler)
     {
         Handler = CreateDbObjectHandler();
     }
     if (ConfigReader.Config.Database.Cache.Enabled && Info.HasOnePrimaryKey && Info.Cacheable)
     {
         Operator = new CachedModelOperator(Info, Composer, Provider, Handler);
     }
     else
     {
         Operator = new ModelOperator(Info, Composer, Provider, Handler);
     }
 }
示例#5
0
        public static SimpleObjectSaver CreateSaver(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
        {
            if (info.HasSystemKey && info.KeyMembers[0].UnsavedValue == null)
            {
                throw new DataException("System key must have UnsavedValue.");
            }

            if (info.HandleType.IsSubclassOf(typeof(DbObjectSmartUpdate)))
            {
                if (info.HasRelation)
                {
                    return new RelationModelSaver(info, composer, provider, handler);
                }
                return new DbModelSaver(info, composer, provider, handler);
            }
            if(info.HasSystemKey)
            {
                return new DbObjectSaver(info, composer, provider, handler);
                
            }
            return new SimpleObjectSaver(info, composer, provider, handler);
        }
示例#6
0
 public DbModelSaver(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#7
0
 public RelationModelSaver(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#8
0
 internal CachedModelOperator(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#9
0
 internal ModelOperator(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
 {
     this.Info     = info;
     this.Composer = composer;
     this.Provider = provider;
     this._saver   = SaverFactory.CreateSaver(info, composer, provider, handler);
     this._deleter = DeleterFactory.CreateDeleter(info, composer, provider, handler);
     this.Fixer    = AutoSchemeFixer.CreateInstance(this.Provider, this.Info);
 }
示例#10
0
        public static SimpleObjectSaver CreateSaver(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
        {
            if (info.HasSystemKey && info.KeyMembers[0].UnsavedValue == null)
            {
                throw new DataException("System key must have UnsavedValue.");
            }

            if (info.HandleType.IsSubclassOf(typeof(DbObjectSmartUpdate)))
            {
                if (info.HasRelation)
                {
                    return(new RelationModelSaver(info, composer, provider, handler));
                }
                return(new DbModelSaver(info, composer, provider, handler));
            }
            if (info.HasSystemKey)
            {
                return(new DbObjectSaver(info, composer, provider, handler));
            }
            return(new SimpleObjectSaver(info, composer, provider, handler));
        }
示例#11
0
 public KeyModelDeleter(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#12
0
 public RelationModelDeleter(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#13
0
 internal CachedModelOperator(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
     : base(info, composer, provider, handler)
 {
 }
示例#14
0
 public static SimpleDeleter CreateDeleter(ObjectInfo info, QueryComposer composer, DataProvider provider, IDbObjectHandler handler)
 {
     if (info.HasRelation)
     {
         return(new RelationModelDeleter(info, composer, provider, handler));
     }
     if (info.HasOnePrimaryKey && info.KeyMembers[0].UnsavedValue != null)
     {
         return(new KeyModelDeleter(info, composer, provider, handler));
     }
     return(new SimpleDeleter(info, composer, provider, handler));
 }