public override SqlDataType GetSqlDataType(Type type)
{
SqlDataType value;
if (this.sqlDataTypesByType.TryGetValue(type, out value))
{
return value;
}
var underlyingType = type.GetUnwrappedNullableType();
if (underlyingType.IsEnum)
{
var sqlDataType = this.GetEnumDataType(type);
this.sqlDataTypesByType[type] = sqlDataType;
return sqlDataType;
}
else if (underlyingType.IsArray && underlyingType == typeof(byte[]))
{
var sqlDataType = this.GetBlobDataType();
this.sqlDataTypesByType[type] = sqlDataType;
return sqlDataType;
}
return null;
}
}