Exemple #1
0
        /// <summary>
        /// Clones a parameter so that it can be used with another command.
        /// </summary>
        /// <param name="command">The command to use.</param>
        /// <param name="parameter">The parameter to clone.</param>
        /// <returns>The clone.</returns>
        public override IDataParameter CloneParameter(IDbCommand command, IDataParameter parameter)
        {
            NpgsqlParameter p     = (NpgsqlParameter)parameter;
            var             clone = (NpgsqlParameter)p.Clone();

            clone.NpgsqlDbType = p.NpgsqlDbType;
            return(clone);
        }
Exemple #2
0
        public void Clone_generic()
        {
            var expected = new NpgsqlParameter <int>
            {
                TypedValue    = 42,
                ParameterName = "TheAnswer",

                DbType       = DbType.Int32,
                NpgsqlDbType = NpgsqlDbType.Integer,
                DataTypeName = "integer",

                Direction  = ParameterDirection.InputOutput,
                IsNullable = true,
                Precision  = 1,
                Scale      = 2,
                Size       = 4,

                SourceVersion           = DataRowVersion.Proposed,
                SourceColumn            = "source",
                SourceColumnNullMapping = true,
            };
            var actual = (NpgsqlParameter <int>)expected.Clone();

            Assert.AreEqual(expected.Value, actual.Value);
            Assert.AreEqual(expected.TypedValue, actual.TypedValue);
            Assert.AreEqual(expected.ParameterName, actual.ParameterName);

            Assert.AreEqual(expected.DbType, actual.DbType);
            Assert.AreEqual(expected.NpgsqlDbType, actual.NpgsqlDbType);
            Assert.AreEqual(expected.DataTypeName, actual.DataTypeName);

            Assert.AreEqual(expected.Direction, actual.Direction);
            Assert.AreEqual(expected.IsNullable, actual.IsNullable);
            Assert.AreEqual(expected.Precision, actual.Precision);
            Assert.AreEqual(expected.Scale, actual.Scale);
            Assert.AreEqual(expected.Size, actual.Size);

            Assert.AreEqual(expected.SourceVersion, actual.SourceVersion);
            Assert.AreEqual(expected.SourceColumn, actual.SourceColumn);
            Assert.AreEqual(expected.SourceColumnNullMapping, actual.SourceColumnNullMapping);
        }
        /// <summary>
        /// Clones a parameter so that it can be used with another command.
        /// </summary>
        /// <param name="command">The command to use.</param>
        /// <param name="parameter">The parameter to clone.</param>
        /// <returns>The clone.</returns>
        public override IDataParameter CloneParameter(IDbCommand command, IDataParameter parameter)
        {
            NpgsqlParameter p = (NpgsqlParameter)parameter;

            return((IDataParameter)p.Clone());
        }