예제 #1
0
        /// <summary>
        /// Creates a command which will insert an entity, not returning anything.
        /// </summary>
        public static CommandDefinition MakeInsertCommand(
            object entity,
            IDbTransaction transaction,
            IDialect dialect,
            int?commandTimeout,
            MicroCRUDConfig config,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            Ensure.NotNull(entity, nameof(entity));
            dialect = dialect ?? config.Dialect;

            var tableSchema = TableSchemaFactory.GetTableSchema(entity.GetType(), dialect, config.SchemaFactory);
            var sql         = dialect.MakeInsertStatement(tableSchema);

            return(MakeCommandDefinition(sql, entity, transaction, commandTimeout, cancellationToken));
        }
예제 #2
0
        /// <summary>
        /// Creates a command which will insert a range of entities, not returning anything.
        /// </summary>
        public static CommandDefinition MakeInsertRangeCommand <TEntity>(
            IEnumerable <TEntity> entities,
            IDbTransaction transaction,
            IDialect dialect,
            int?commandTimeout,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            Ensure.NotNull(entities, nameof(entities));
            var config = MicroCRUDConfig.Current;

            dialect = dialect ?? config.Dialect;

            var tableSchema = TableSchemaFactory.GetTableSchema(typeof(TEntity), dialect, config.SchemaFactory);
            var sql         = dialect.MakeInsertStatement(tableSchema);

            return(MakeCommandDefinition(sql, entities, transaction, commandTimeout, cancellationToken));
        }