Exemplo n.º 1
0
        /// <summary>
        /// 获取单个实体
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="row">数据行</param>
        /// <param name="dbtable">数据库表格</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">数据行或数据库表格不能为空</exception>
        /// <returns>数据实体</returns>
        public static T ToEntityWithArgs <T>(this DataRow row, AbstractDatabaseTable <T> dbtable, Object args) where T : class
        {
            if (row == null)
            {
                throw new ArgumentNullException("row");
            }

            if (dbtable == null)
            {
                throw new ArgumentNullException("dbtable");
            }

            return(dbtable.InternalGetEntity(null, 0, row, args));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取实体列表
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="cmd">选择语句</param>
        /// <param name="table">数据库表格</param>
        /// <param name="transaction">数据库事务</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
        /// <returns>数据实体列表</returns>
        public static List <T> ToEntityListWithArgs <T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, DbTransaction transaction, Object args) where T : class
        {
            if (cmd == null)
            {
                throw new ArgumentNullException("cmd");
            }

            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            return(table.InternalGetEntityList(cmd, cmd.ToDataTable(transaction), args));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取实体列表
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="table">数据表</param>
        /// <param name="dbtable">数据库表格</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">数据表或数据库表格不能为空</exception>
        /// <returns>数据实体列表</returns>
        public static List <T> ToEntityListWithArgs <T>(this DataTable table, AbstractDatabaseTable <T> dbtable, Object args) where T : class
        {
            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            if (dbtable == null)
            {
                throw new ArgumentNullException("dbtable");
            }

            return(dbtable.InternalGetEntityList(null, table, args));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取实体数组
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="cmd">选择语句</param>
        /// <param name="table">数据库表格</param>
        /// <param name="connection">数据库连接</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
        /// <returns>数据实体数组</returns>
        public static T[] ToEntityArrayWithArgs <T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, DbConnection connection, Object args) where T : class
        {
            if (cmd == null)
            {
                throw new ArgumentNullException("cmd");
            }

            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            return(table.InternalGetEntityArray(cmd, cmd.ToDataTable(connection), args));
        }
Exemplo n.º 5
0
 /// <summary>
 /// 获取单个实体
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="row">数据行</param>
 /// <param name="dbtable">数据库表格</param>
 /// <exception cref="ArgumentNullException">数据行或数据库表格不能为空</exception>
 /// <returns>数据实体</returns>
 public static T ToEntity <T>(this DataRow row, AbstractDatabaseTable <T> dbtable) where T : class
 {
     return(DataRowExtension.ToEntityWithArgs <T>(row, dbtable, null));
 }
Exemplo n.º 6
0
 /// <summary>
 /// 获取实体数组
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="table">数据表</param>
 /// <param name="dbtable">数据库表格</param>
 /// <exception cref="ArgumentNullException">数据表或数据库表格不能为空</exception>
 /// <returns>数据实体数组</returns>
 public static T[] ToEntityArray <T>(this DataTable table, AbstractDatabaseTable <T> dbtable) where T : class
 {
     return(DataTableExtension.ToEntityArrayWithArgs <T>(table, dbtable, null));
 }
Exemplo n.º 7
0
 /// <summary>
 /// 获取实体字典
 /// </summary>
 /// <typeparam name="TKey">字典键类型</typeparam>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="table">数据表</param>
 /// <param name="dbtable">数据库表格</param>
 /// <param name="keyColumnName">键列名称</param>
 /// <exception cref="ArgumentNullException">数据表或数据库表格不能为空</exception>
 /// <returns>数据实体字典</returns>
 public static Dictionary <TKey, T> ToEntityDictionary <TKey, T>(this DataTable table, AbstractDatabaseTable <T> dbtable, String keyColumnName) where T : class
 {
     return(DataTableExtension.ToEntityDictionaryWithArgs <TKey, T>(table, dbtable, keyColumnName, null));
 }
Exemplo n.º 8
0
        /// <summary>
        /// 获取实体字典
        /// </summary>
        /// <typeparam name="TKey">字典键类型</typeparam>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="table">数据表</param>
        /// <param name="dbtable">数据库表格</param>
        /// <param name="keyColumnName">键列名称</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">数据表或数据库表格不能为空</exception>
        /// <returns>数据实体字典</returns>
        public static Dictionary <TKey, T> ToEntityDictionaryWithArgs <TKey, T>(this DataTable table, AbstractDatabaseTable <T> dbtable, String keyColumnName, Object args) where T : class
        {
            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            if (dbtable == null)
            {
                throw new ArgumentNullException("dbtable");
            }

            return(dbtable.InternalGetEntityDictionary <TKey>(null, table, keyColumnName, args));
        }
Exemplo n.º 9
0
 /// <summary>
 /// 获取单个实体
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="cmd">选择语句</param>
 /// <param name="table">数据库表格</param>
 /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
 /// <returns>数据实体</returns>
 /// <example>
 /// <code lang="C#">
 /// <![CDATA[
 /// public class UserRepository : AbstractDatabaseTable<User>
 /// {
 ///     //other necessary code
 ///
 ///     public User GetEntity(Int32 userID)
 ///     {
 ///         return this.Select()
 ///             .Where(c => c.Equal(UserIDColumn, userID))
 ///             .ToEntity<User>(this);
 ///     }
 /// }
 /// ]]>
 /// </code>
 /// </example>
 public static T ToEntity <T>(this SelectCommand cmd, AbstractDatabaseTable <T> table) where T : class
 {
     return(SelectCommandExtension.ToEntityWithArgs <T>(cmd, table, null));
 }
Exemplo n.º 10
0
 /// <summary>
 /// 获取实体字典
 /// </summary>
 /// <typeparam name="TKey">字典键类型</typeparam>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="cmd">选择语句</param>
 /// <param name="table">数据库表格</param>
 /// <param name="keyColumnName">键列名称</param>
 /// <param name="transaction">数据库事务</param>
 /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
 /// <returns>数据实体字典</returns>
 public static Dictionary <TKey, T> ToEntityDictionary <TKey, T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, String keyColumnName, DbTransaction transaction) where T : class
 {
     return(SelectCommandExtension.ToEntityDictionaryWithArgs <TKey, T>(cmd, table, keyColumnName, transaction, null));
 }
Exemplo n.º 11
0
        /// <summary>
        /// 获取实体字典
        /// </summary>
        /// <typeparam name="TKey">字典键类型</typeparam>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="cmd">选择语句</param>
        /// <param name="table">数据库表格</param>
        /// <param name="keyColumnName">键列名称</param>
        /// <param name="transaction">数据库事务</param>
        /// <param name="args">创建实体时的额外参数</param>
        /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
        /// <returns>数据实体字典</returns>
        public static Dictionary <TKey, T> ToEntityDictionaryWithArgs <TKey, T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, String keyColumnName, DbTransaction transaction, Object args) where T : class
        {
            if (cmd == null)
            {
                throw new ArgumentNullException("cmd");
            }

            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            return(table.InternalGetEntityDictionary <TKey>(cmd, cmd.ToDataTable(transaction), keyColumnName, args));
        }
Exemplo n.º 12
0
 /// <summary>
 /// 获取实体列表
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="cmd">选择语句</param>
 /// <param name="table">数据库表格</param>
 /// <param name="transaction">数据库事务</param>
 /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
 /// <returns>数据实体列表</returns>
 public static List <T> ToEntityList <T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, DbTransaction transaction) where T : class
 {
     return(SelectCommandExtension.ToEntityListWithArgs <T>(cmd, table, transaction, null));
 }
Exemplo n.º 13
0
 /// <summary>
 /// 获取实体数组
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="cmd">选择语句</param>
 /// <param name="table">数据库表格</param>
 /// <param name="connection">数据库连接</param>
 /// <exception cref="ArgumentNullException">选择语句或数据库表格不能为空</exception>
 /// <returns>数据实体数组</returns>
 public static T[] ToEntityArray <T>(this SelectCommand cmd, AbstractDatabaseTable <T> table, DbConnection connection) where T : class
 {
     return(SelectCommandExtension.ToEntityArrayWithArgs <T>(cmd, table, connection, null));
 }