Skip to content

Commit 0cd2506

Browse files
committed
Extended AddParameter to support DataTable objects
This is needed to support user-defined table-valued types in SQL server, as exposed via the new `AttributeValuesDataTable` (313fe71) and `TopicListDataTable` (7a37dc9).
1 parent 1678523 commit 0cd2506

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

OnTopic.Data.Sql/SqlCommandExtensions.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,15 @@ internal static void AddParameter(this SqlCommand command, string sqlParameter,
8181
internal static void AddParameter(this SqlCommand command, string sqlParameter, DateTime fieldValue)
8282
=> AddParameter(command, sqlParameter, fieldValue, SqlDbType.DateTime);
8383

84+
/// <summary>
85+
/// Wrapper function that adds a SQL parameter to a command object.
86+
/// </summary>
87+
/// <param name="command">The SQL command object.</param>
88+
/// <param name="sqlParameter">The SQL parameter.</param>
89+
/// <param name="fieldValue">The SQL field value.</param>
90+
internal static void AddParameter(this SqlCommand command, string sqlParameter, DataTable fieldValue)
91+
=> AddParameter(command, sqlParameter, fieldValue, SqlDbType.Structured);
92+
8493
/// <summary>
8594
/// Wrapper function that adds a SQL parameter to a command object.
8695
/// </summary>
@@ -145,6 +154,7 @@ private static void AddParameter(
145154
SqlDbType.DateTime => (DateTime)fieldValue,
146155
SqlDbType.Int => (int)fieldValue,
147156
SqlDbType.Xml => (string)fieldValue,
157+
SqlDbType.Structured => (DataTable)fieldValue,
148158
_ => (string)fieldValue,
149159
};
150160
}

0 commit comments

Comments
 (0)