Commit e0df951a authored by sqmgh's avatar sqmgh

Change List to IEnumerable

Not sure why I didn't do this to begin with
parent 77052b83
...@@ -715,7 +715,7 @@ static SqlMapper() ...@@ -715,7 +715,7 @@ static SqlMapper()
typeMap[typeof(object)] = DbType.Object; typeMap[typeof(object)] = DbType.Object;
AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), false); AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), false);
AddTypeHandlerImpl(typeof(List<Microsoft.SqlServer.Server.SqlDataRecord>), new SqlDataRecordHandler(), false); AddTypeHandlerImpl(typeof(IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord>), new SqlDataRecordHandler(), false);
} }
/// <summary> /// <summary>
...@@ -725,7 +725,7 @@ public static void ResetTypeHandlers() ...@@ -725,7 +725,7 @@ public static void ResetTypeHandlers()
{ {
typeHandlers = new Dictionary<Type, ITypeHandler>(); typeHandlers = new Dictionary<Type, ITypeHandler>();
AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), true); AddTypeHandlerImpl(typeof(DataTable), new DataTableHandler(), true);
AddTypeHandlerImpl(typeof(List<Microsoft.SqlServer.Server.SqlDataRecord>), new SqlDataRecordHandler(), true); AddTypeHandlerImpl(typeof(IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord>), new SqlDataRecordHandler(), true);
} }
/// <summary> /// <summary>
/// Configire the specified type to be mapped to a given db-type /// Configire the specified type to be mapped to a given db-type
...@@ -4339,9 +4339,9 @@ public static string GetTypeName(this DataTable table) ...@@ -4339,9 +4339,9 @@ public static string GetTypeName(this DataTable table)
} }
/// <summary> /// <summary>
/// Used to pass a List<SqlDataRecord> as a TableValuedParameter /// Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter
/// </summary> /// </summary>
public static ICustomQueryParameter AsTableValuedParameter(this List<Microsoft.SqlServer.Server.SqlDataRecord> list, string typeName public static ICustomQueryParameter AsTableValuedParameter(this IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord> list, string typeName
#if !CSHARP30 #if !CSHARP30
= null = null
#endif #endif
...@@ -4894,21 +4894,21 @@ public object Parse(Type destinationType, object value) ...@@ -4894,21 +4894,21 @@ public object Parse(Type destinationType, object value)
public void SetValue(IDbDataParameter parameter, object value) public void SetValue(IDbDataParameter parameter, object value)
{ {
SqlDataRecordListTVPParameter.Set(parameter, value as List<Microsoft.SqlServer.Server.SqlDataRecord>, null); SqlDataRecordListTVPParameter.Set(parameter, value as IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord>, null);
} }
} }
/// <summary> /// <summary>
/// Used to pass a List<SqlDataRecord> as a SqlDataRecordListTVPParameter /// Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter
/// </summary> /// </summary>
sealed partial class SqlDataRecordListTVPParameter : Dapper.SqlMapper.ICustomQueryParameter sealed partial class SqlDataRecordListTVPParameter : Dapper.SqlMapper.ICustomQueryParameter
{ {
private readonly List<Microsoft.SqlServer.Server.SqlDataRecord> data; private readonly IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord> data;
private readonly string typeName; private readonly string typeName;
/// <summary> /// <summary>
/// Create a new instance of SqlDataRecordListTVPParameter /// Create a new instance of SqlDataRecordListTVPParameter
/// </summary> /// </summary>
public SqlDataRecordListTVPParameter(List<Microsoft.SqlServer.Server.SqlDataRecord> data, string typeName) public SqlDataRecordListTVPParameter(IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord> data, string typeName)
{ {
this.data = data; this.data = data;
this.typeName = typeName; this.typeName = typeName;
...@@ -4930,7 +4930,7 @@ void SqlMapper.ICustomQueryParameter.AddParameter(IDbCommand command, string nam ...@@ -4930,7 +4930,7 @@ void SqlMapper.ICustomQueryParameter.AddParameter(IDbCommand command, string nam
Set(param, data, typeName); Set(param, data, typeName);
command.Parameters.Add(param); command.Parameters.Add(param);
} }
internal static void Set(IDbDataParameter parameter, List<Microsoft.SqlServer.Server.SqlDataRecord> data, string typeName) internal static void Set(IDbDataParameter parameter, IEnumerable<Microsoft.SqlServer.Server.SqlDataRecord> data, string typeName)
{ {
parameter.Value = (object)data ?? DBNull.Value; parameter.Value = (object)data ?? DBNull.Value;
var sqlParam = parameter as System.Data.SqlClient.SqlParameter; var sqlParam = parameter as System.Data.SqlClient.SqlParameter;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment