From 6063142d7777359d299aa8354944fd167242050a Mon Sep 17 00:00:00 2001 From: Paul Welter Date: Sat, 3 Feb 2024 22:31:08 -0600 Subject: [PATCH] get GetValue by name, update packages --- .../FluentCommand.Json.csproj | 2 +- .../FluentCommand.SqlServer.csproj | 2 +- .../Extensions/DataRecordExtensions.cs | 18 ++++++++++++++++++ .../FluentCommand.PostgreSQL.Tests.csproj | 10 +++++----- .../FluentCommand.SQLite.Tests.csproj | 10 +++++----- .../FluentCommand.SqlServer.Tests.csproj | 16 ++++++++-------- .../FluentCommand.Tests.csproj | 6 +++--- .../Query/DeleteBuilderTest.cs | 1 - .../Query/InsertBuilderTest.cs | 1 - .../Query/QueryBuilderTests.cs | 1 - .../Query/SelectBuilderTest.cs | 1 - .../Query/UpdateBuilderTest.cs | 1 - 12 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/FluentCommand.Json/FluentCommand.Json.csproj b/src/FluentCommand.Json/FluentCommand.Json.csproj index fe4b2167..d3ae32a1 100644 --- a/src/FluentCommand.Json/FluentCommand.Json.csproj +++ b/src/FluentCommand.Json/FluentCommand.Json.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/FluentCommand.SqlServer/FluentCommand.SqlServer.csproj b/src/FluentCommand.SqlServer/FluentCommand.SqlServer.csproj index 064e3ffa..9a678fca 100644 --- a/src/FluentCommand.SqlServer/FluentCommand.SqlServer.csproj +++ b/src/FluentCommand.SqlServer/FluentCommand.SqlServer.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/FluentCommand/Extensions/DataRecordExtensions.cs b/src/FluentCommand/Extensions/DataRecordExtensions.cs index ea290e80..b6b74396 100644 --- a/src/FluentCommand/Extensions/DataRecordExtensions.cs +++ b/src/FluentCommand/Extensions/DataRecordExtensions.cs @@ -438,6 +438,24 @@ public static object GetValue(this IDataRecord dataRecord, string name) return dataRecord.IsDBNull(ordinal) ? null : dataRecord.GetValue(ordinal); } + /// + /// Gets the value of the specified field. + /// + /// The record value type + /// The data record. + /// The of the field to find. + /// + /// The which will contain the field value upon return. + /// + public static T GetValue(this IDataRecord dataRecord, string name) + { + int ordinal = dataRecord.GetOrdinal(name); + if (dataRecord is DbDataReader dataReader) + return dataReader.GetFieldValue(ordinal); + + return (T)dataRecord.GetValue(ordinal); + } + /// /// Gets the value of the specified field. /// diff --git a/test/FluentCommand.PostgreSQL.Tests/FluentCommand.PostgreSQL.Tests.csproj b/test/FluentCommand.PostgreSQL.Tests/FluentCommand.PostgreSQL.Tests.csproj index 435f581e..41cdd8a7 100644 --- a/test/FluentCommand.PostgreSQL.Tests/FluentCommand.PostgreSQL.Tests.csproj +++ b/test/FluentCommand.PostgreSQL.Tests/FluentCommand.PostgreSQL.Tests.csproj @@ -22,21 +22,21 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - + - + - + all runtime; build; native; contentfiles; analyzers - + diff --git a/test/FluentCommand.SQLite.Tests/FluentCommand.SQLite.Tests.csproj b/test/FluentCommand.SQLite.Tests/FluentCommand.SQLite.Tests.csproj index db22ee68..7eb75607 100644 --- a/test/FluentCommand.SQLite.Tests/FluentCommand.SQLite.Tests.csproj +++ b/test/FluentCommand.SQLite.Tests/FluentCommand.SQLite.Tests.csproj @@ -22,20 +22,20 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - - + + - + all runtime; build; native; contentfiles; analyzers - + diff --git a/test/FluentCommand.SqlServer.Tests/FluentCommand.SqlServer.Tests.csproj b/test/FluentCommand.SqlServer.Tests/FluentCommand.SqlServer.Tests.csproj index accc3937..60914b7a 100644 --- a/test/FluentCommand.SqlServer.Tests/FluentCommand.SqlServer.Tests.csproj +++ b/test/FluentCommand.SqlServer.Tests/FluentCommand.SqlServer.Tests.csproj @@ -24,24 +24,24 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - - - + + + - - + + - + all runtime; build; native; contentfiles; analyzers - + diff --git a/test/FluentCommand.Tests/FluentCommand.Tests.csproj b/test/FluentCommand.Tests/FluentCommand.Tests.csproj index 02c9f94b..9f9de802 100644 --- a/test/FluentCommand.Tests/FluentCommand.Tests.csproj +++ b/test/FluentCommand.Tests/FluentCommand.Tests.csproj @@ -18,12 +18,12 @@ all - - + + all runtime; build; native; contentfiles; analyzers - + diff --git a/test/FluentCommand.Tests/Query/DeleteBuilderTest.cs b/test/FluentCommand.Tests/Query/DeleteBuilderTest.cs index e1fb28a6..d507dcf4 100644 --- a/test/FluentCommand.Tests/Query/DeleteBuilderTest.cs +++ b/test/FluentCommand.Tests/Query/DeleteBuilderTest.cs @@ -10,7 +10,6 @@ namespace FluentCommand.Tests.Query; -[UsesVerify] public class DeleteBuilderTest { [Fact] diff --git a/test/FluentCommand.Tests/Query/InsertBuilderTest.cs b/test/FluentCommand.Tests/Query/InsertBuilderTest.cs index 7e23c0db..f62bdd17 100644 --- a/test/FluentCommand.Tests/Query/InsertBuilderTest.cs +++ b/test/FluentCommand.Tests/Query/InsertBuilderTest.cs @@ -10,7 +10,6 @@ namespace FluentCommand.Tests.Query; -[UsesVerify] public class InsertBuilderTest { [Fact] diff --git a/test/FluentCommand.Tests/Query/QueryBuilderTests.cs b/test/FluentCommand.Tests/Query/QueryBuilderTests.cs index 1deccd27..7eb7697e 100644 --- a/test/FluentCommand.Tests/Query/QueryBuilderTests.cs +++ b/test/FluentCommand.Tests/Query/QueryBuilderTests.cs @@ -10,7 +10,6 @@ namespace FluentCommand.Tests.Query; -[UsesVerify] public class QueryBuilderTests { [Fact] diff --git a/test/FluentCommand.Tests/Query/SelectBuilderTest.cs b/test/FluentCommand.Tests/Query/SelectBuilderTest.cs index 16369f5d..dab91ed2 100644 --- a/test/FluentCommand.Tests/Query/SelectBuilderTest.cs +++ b/test/FluentCommand.Tests/Query/SelectBuilderTest.cs @@ -12,7 +12,6 @@ namespace FluentCommand.Tests.Query; -[UsesVerify] public class SelectBuilderTest { [Fact] diff --git a/test/FluentCommand.Tests/Query/UpdateBuilderTest.cs b/test/FluentCommand.Tests/Query/UpdateBuilderTest.cs index d0ab7b18..360b2e20 100644 --- a/test/FluentCommand.Tests/Query/UpdateBuilderTest.cs +++ b/test/FluentCommand.Tests/Query/UpdateBuilderTest.cs @@ -10,7 +10,6 @@ namespace FluentCommand.Tests.Query; -[UsesVerify] public class UpdateBuilderTest { [Fact]