Added reader extensions.
This commit is contained in:
@@ -11485,6 +11485,126 @@ namespace DynamORM
|
||||
void Dispose(bool disposing);
|
||||
}
|
||||
|
||||
public static class ReaderExtensions
|
||||
{
|
||||
public static bool? GetBooleanIfNotNull(this IDataReader r, string name, bool? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetBoolean(ord);
|
||||
}
|
||||
|
||||
public static byte? GetByteIfNotNull(this IDataReader r, string name, byte? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetByte(ord);
|
||||
}
|
||||
|
||||
public static char? GetCharIfNotNull(this IDataReader r, string name, char? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetChar(ord);
|
||||
}
|
||||
|
||||
public static DateTime? GetDateTimeIfNotNull(this IDataReader r, string name, DateTime? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetDateTime(ord);
|
||||
}
|
||||
|
||||
public static decimal? GetDecimalIfNotNull(this IDataReader r, string name, decimal? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetDecimal(ord);
|
||||
}
|
||||
|
||||
public static double? GetDoubleIfNotNull(this IDataReader r, string name, double? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetDouble(ord);
|
||||
}
|
||||
|
||||
public static float? GetFloatIfNotNull(this IDataReader r, string name, float? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetFloat(ord);
|
||||
}
|
||||
|
||||
public static Guid? GetGuidIfNotNull(this IDataReader r, string name, Guid? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetGuid(ord);
|
||||
}
|
||||
|
||||
public static short? GetInt16IfNotNull(this IDataReader r, string name, short? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetInt16(ord);
|
||||
}
|
||||
|
||||
public static int? GetInt32IfNotNull(this IDataReader r, string name, int? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetInt32(ord);
|
||||
}
|
||||
|
||||
public static long? GetInt64IfNotNull(this IDataReader r, string name, long? def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetInt64(ord);
|
||||
}
|
||||
|
||||
public static string GetStringIfNotNull(this IDataReader r, string name, string def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetString(ord);
|
||||
}
|
||||
|
||||
public static object GetValueIfNotNull(this IDataReader r, string name, object def = null)
|
||||
{
|
||||
var ord = r.GetOrdinal(name);
|
||||
if (r.IsDBNull(ord))
|
||||
return def;
|
||||
|
||||
return r.GetValue(ord);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Class containing useful string extensions.</summary>
|
||||
internal static class StringExtensions
|
||||
{
|
||||
@@ -13968,7 +14088,7 @@ namespace DynamORM
|
||||
throw new InvalidOperationException("Enumerables of enumerables are not supported");
|
||||
|
||||
Column = attr;
|
||||
|
||||
|
||||
if (attr != null && attr.AllowNull && !Type.IsNullableType() && Type != typeof(string))
|
||||
attr.AllowNull = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user