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); }
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)); } }
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)); } }