예제 #1
0
        /// <summary>
        /// オブジェクト挿入 (INSERT)
        /// </summary>
        /// <typeparam name="T">オブジェクト型</typeparam>
        /// <param name="obj">挿入するオブジェクト</param>
        public void InsertObject <T>(T obj)
        {
            UpdateQueryBuilder qb = new UpdateQueryBuilder(GetTableName(obj));

            qb.SetParams(GetParams(obj));
            using (DbCommand cmd = qb.Result(conn_, UpdateType.INSERT)) {
                cmd.ExecuteNonQuery();
            }
        }
예제 #2
0
        /// <summary>
        /// オブジェクト内容で更新 (UPDATE)
        /// </summary>
        /// <typeparam name="T">オブジェクト型</typeparam>
        /// <param name="obj">更新するオブジェクト</param>
        public void UpdateObject <T>(T obj)
        {
            T tmp = LoadObject(obj);

            if (tmp == null)
            {
                InsertObject(obj);
            }
            else
            {
                UpdateQueryBuilder qb = new UpdateQueryBuilder(GetTableName(obj));
                qb.SetParams(GetParams(obj));
                ICollection <object> param;
                qb.SetWhere(GetPrimaryWhere <T>(obj, out param), param);
                using (DbCommand cmd = qb.Result(conn_, UpdateType.UPDATE)) {
                    cmd.ExecuteNonQuery();
                }
            }
        }