示例#1
0
        private static (IEnumerable <DBObject>, string) CreateInfo(JObject json)
        {
            string tableName = json["category"].ToString();

            json.Remove("category");

            var dbobjects = new DBobjectConverter().JsonToDBObject(json);

            return(dbobjects, tableName);
        }
示例#2
0
        public IEnumerable <T> Query <T>() where T : new()
        {
            var data      = new T();
            var dbobjects = new DBobjectConverter().ClassToDBObject(data);

            var sql = this.SqlCreator.SelectSql(dbobjects, typeof(T).Name);

            using (IDbConnection conn = new PostgreDBConfig().NpgsqlConnection())
            {
                conn.Open();
                return(conn.Query <T>(sql));
            }
        }
示例#3
0
        public void Upsert <T>(T dataClass, string uniqueColmn)
        {
            var executer  = new DynamicRDBService(this.SqlCreator, this.DataRepository);
            var dbobjects = new DBobjectConverter().ClassToDBObject(dataClass);

            dbobjects.First(p => p.ColumnName == uniqueColmn.ToLower()).Unique = true;
            try
            {
                executer.DynamicInsert(dbobjects, dataClass.GetType().Name.ToLower());
            }
            catch (DbException ex)
            {
                //本当はもっと厳密にチェックしなくては。。。
                executer.Update(dbobjects, dataClass.GetType().Name.ToLower(), dbobjects.FirstOrDefault(p => p.Unique == true));
            }
        }