Esempio n. 1
0
        public void Save()
        {
            if (!EntitySchemaManager.TryGetSchema(GetType(), out IEntitySchema view))
            {
                throw new ArgumentException();
            }
            if (!DbConnectionManager.TryGet(view.ConnectKey, out DbConnectionProvider connectionProvider))
            {
                throw new InvalidOperationException("not found DbProvider:" + view.ConnectKey);
            }

            switch (_saveUsage)
            {
            case SaveUsage.Unknown:
                throw new InvalidOperationException("Unknown SaveUsage");

            case SaveUsage.Update:
                connectionProvider.Update(new object[] { this });
                break;

            case SaveUsage.Insert:
                connectionProvider.Insert(new object[] { this });
                break;
            }
        }
Esempio n. 2
0
        public static List <T> Load <T>(Expression <Func <T, bool> > condition = null)
            where T : RowAdapter, new()
        {
            if (!EntitySchemaManager.TryGetSchema <T>(out IEntitySchema view))
            {
                throw new ArgumentException(string.Format("not found {0}:{1}", nameof(IEntitySchema), typeof(T).FullName));
            }
            if (!DbConnectionManager.TryGet(view.ConnectKey, out DbConnectionProvider connectionProvider))
            {
                throw new InvalidOperationException("not found DbProvider:" + view.ConnectKey);
            }

            return(Load <T>(connectionProvider, condition));
        }
Esempio n. 3
0
        public static void LoadPrimary(IEntitySchema entitySchema)
        {
            if (entitySchema == null)
            {
                throw new ArgumentNullException(nameof(entitySchema));
            }
            if (!DbConnectionManager.TryGet(entitySchema.ConnectKey, out DbConnectionProvider connectionProvider))
            {
                throw new InvalidOperationException("not found DbProvider:" + entitySchema.ConnectKey);
            }

            var str        = string.Format("Select IsNull(Max([ID]), 0) From [{0}]", entitySchema.Name);
            var obj        = connectionProvider.ExecuteScalar(str);
            var maxPrimary = Convert.ToInt64(obj);

            _mkv[entitySchema.EntityType] = maxPrimary;
        }