/// <summary> /// For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. /// </summary> /// <param name="typ">The type to evaluate</param> /// <returns>The SQLite type affinity for that type.</returns> internal static TypeAffinity TypeToAffinity(Type typ) { var tc = NetTypes.GetNetType(typ); if (tc == NetType.Object) { if (typ == typeof(byte[]) || typ == typeof(Guid)) { return(TypeAffinity.Blob); } else { return(TypeAffinity.Text); } } return(_typecodeAffinities[(int)tc]); }
/// <summary> /// For a given intrinsic type, return a DbType /// </summary> /// <param name="typ">The native type to convert</param> /// <returns>The corresponding (closest match) DbType</returns> internal static DbType TypeToDbType(Type typ) { var tc = NetTypes.GetNetType(typ); if (tc == NetType.Object) { if (typ == typeof(byte[])) { return(DbType.Binary); } if (typ == typeof(Guid)) { return(DbType.Guid); } return(DbType.String); } return(_typetodbtype[(int)tc]); }