internal static SQLDataType ToSQLDataType(this CLRDataType clrDataType) { switch (clrDataType) { case CLRDataType.Int16: return(SQLDataType.SMALLINT); case CLRDataType.Int32: return(SQLDataType.INT); case CLRDataType.Int64: return(SQLDataType.BIGINT); case CLRDataType.Single: return(SQLDataType.SINGLE); case CLRDataType.Double: return(SQLDataType.DOUBLE); case CLRDataType.Decimal: return(SQLDataType.DECIMAL); case CLRDataType.Byte: return(SQLDataType.TINYINT); case CLRDataType.String: return(SQLDataType.TEXT); case CLRDataType.Boolean: return(SQLDataType.BOOLEAN); case CLRDataType.DateTime: return(SQLDataType.DATETIME); default: return(SQLDataType.Unsupported); } }
/// <summary> /// From SQL /// </summary> public CLRProperty(string name, CLRDataType typeCode) { Name = name; Type = typeCode; Get = obj => { if (obj is IDynamicMemberValueProvider dm && dm.TryGetValue(Name, out var value, out var actualKey)) { Name = actualKey; return(value); } return(null); }; Set = (obj, value) => (obj as IDynamicMemberValueProvider)?.TrySetValue(Name, value); IsDeclared = false; }