diff --git a/DuckDB.NET.Data/DuckDBCommand.cs b/DuckDB.NET.Data/DuckDBCommand.cs index 6d602614..548c5747 100644 --- a/DuckDB.NET.Data/DuckDBCommand.cs +++ b/DuckDB.NET.Data/DuckDBCommand.cs @@ -19,7 +19,7 @@ public class DuckDBCommand : DbCommand public new virtual DuckDBParameterCollection Parameters => parameters; public override int CommandTimeout { get; set; } - public override CommandType CommandType { get; set; } + public override CommandType CommandType { get; set; } = CommandType.Text; public override bool DesignTimeVisible { get; set; } public override UpdateRowSource UpdatedRowSource { get; set; } diff --git a/DuckDB.NET.Data/DuckDBParameter.cs b/DuckDB.NET.Data/DuckDBParameter.cs index 7ace2d50..7f082143 100644 --- a/DuckDB.NET.Data/DuckDBParameter.cs +++ b/DuckDB.NET.Data/DuckDBParameter.cs @@ -29,7 +29,7 @@ public override object? Value } } - public override ParameterDirection Direction { get; set; } + public override ParameterDirection Direction { get; set; } = ParameterDirection.Input; public override bool IsNullable { get; set; } [AllowNull] diff --git a/DuckDB.NET.Test/DuckDBCommandTests.cs b/DuckDB.NET.Test/DuckDBCommandTests.cs index b807f2b6..1b58d831 100644 --- a/DuckDB.NET.Test/DuckDBCommandTests.cs +++ b/DuckDB.NET.Test/DuckDBCommandTests.cs @@ -17,4 +17,11 @@ public void SetCommandTextAndConnection() cmd.CommandText.Should().Be("Select 1"); cmd.Connection.Should().Be(Connection); } -} \ No newline at end of file + + // https://learn.microsoft.com/dotnet/api/system.data.idbcommand.commandtype: "The default is Text." + [Fact] + public void CommandTypeDefaultsToText() + { + new DuckDBCommand().CommandType.Should().Be(CommandType.Text); + } +} diff --git a/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs b/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs index 786c93be..5d486538 100644 --- a/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs +++ b/DuckDB.NET.Test/Parameters/ParameterCollectionTests.cs @@ -5,6 +5,15 @@ namespace DuckDB.NET.Test.Parameters; public class ParameterCollectionTests(DuckDBDatabaseFixture db) : DuckDBTestBase(db) { + // https://learn.microsoft.com/dotnet/api/system.data.common.dbparameter.direction: "The default is Input." + [Fact] + public void ParameterDirectionDefaultsToInput() + { + new DuckDBParameter().Direction.Should().Be(ParameterDirection.Input); + new DuckDBParameter("name", 42).Direction.Should().Be(ParameterDirection.Input); + Command.CreateParameter().Direction.Should().Be(ParameterDirection.Input); + } + [Theory] [InlineData("SELECT ?1::INT;")] [InlineData("SELECT ?::INT;")]