private static MappingSchema GetMappingSchema(DB2Version version) { return(version switch { DB2Version.zOS => new DB2MappingSchema.DB2zOSMappingSchema(), _ => new DB2MappingSchema.DB2LUWMappingSchema(), });
private static MappingSchema GetMappingSchema(DB2Version version, MappingSchema providerSchema) { return(version switch { DB2Version.zOS => new DB2zOSMappingSchema(providerSchema), _ => new DB2LUWMappingSchema(providerSchema), });
public static DataConnection CreateDataConnection(IDbConnection connection, DB2Version version = DB2Version.LUW) { switch (version) { case DB2Version.zOS: return(new DataConnection(_db2DataProviderzOS, connection)); } return(new DataConnection(_db2DataProviderLUW, connection)); }
public static IDataProvider GetDataProvider(DB2Version version = DB2Version.LUW) { switch (version) { case DB2Version.zOS: return(_db2DataProviderzOS); } return(_db2DataProviderLUW); }
public static IDataProvider GetDataProvider(DB2Version version = DB2Version.LUW) { if (version == DB2Version.zOS) { return(_db2DataProviderzOS.Value); } return(_db2DataProviderLUW.Value); }
public static IDataProvider GetDataProvider(DB2Version version = DB2Version.LUW) { switch (version) { case DB2Version.zOS : return _db2DataProviderzOS; } return _db2DataProviderLUW; }
public static DataConnection CreateDataConnection(IDbTransaction transaction, DB2Version version = DB2Version.LUW) { switch (version) { case DB2Version.zOS : return new DataConnection(_db2DataProviderzOS, transaction); } return new DataConnection(_db2DataProviderLUW, transaction); }
public static DataConnection CreateDataConnection(string connectionString, DB2Version version = DB2Version.LUW) { switch (version) { case DB2Version.zOS : return new DataConnection(_db2DataProviderzOS, connectionString); } return new DataConnection(_db2DataProviderLUW, connectionString); }
private static MappingSchema GetMappingSchema(DB2Version version, MappingSchema providerSchema) { switch (version) { case DB2Version.zOS: return(new DB2zOSMappingSchema(providerSchema)); default: case DB2Version.LUW: return(new DB2LUWMappingSchema(providerSchema)); } }
public DB2DataProvider(string name, DB2Version version) : base(name, null) { Version = version; SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.AcceptsTakeAsParameterIfSkip = true; SqlProviderFlags.IsDistinctOrderBySupported = version != DB2Version.zOS; SetCharField("CHAR", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new DB2SqlOptimizer(SqlProviderFlags); }
public DB2DataProvider(string name, DB2Version version) : base(name, null) { Version = version; SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.AcceptsTakeAsParameterIfSkip = true; SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SetCharFieldToType <char>("CHAR", (r, i) => DataTools.GetChar(r, i)); SetCharField("CHAR", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new DB2SqlOptimizer(SqlProviderFlags); }
public DB2DataProvider(string name, DB2Version version) : base( name, GetMappingSchema(version, DB2ProviderAdapter.GetInstance().MappingSchema), DB2ProviderAdapter.GetInstance()) { Version = version; SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.AcceptsTakeAsParameterIfSkip = true; SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsUpdateFromSupported = false; SetCharFieldToType <char>("CHAR", (r, i) => DataTools.GetChar(r, i)); SetCharField("CHAR", (r, i) => r.GetString(i).TrimEnd(' ')); _sqlOptimizer = new DB2SqlOptimizer(SqlProviderFlags); SetProviderField(Adapter.DB2Int64Type, typeof(long), Adapter.GetDB2Int64ReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2Int32Type, typeof(int), Adapter.GetDB2Int32ReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2Int16Type, typeof(short), Adapter.GetDB2Int16ReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2DecimalType, typeof(decimal), Adapter.GetDB2DecimalReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2DecimalFloatType, typeof(decimal), Adapter.GetDB2DecimalFloatReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2RealType, typeof(float), Adapter.GetDB2RealReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2Real370Type, typeof(float), Adapter.GetDB2Real370ReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2DoubleType, typeof(double), Adapter.GetDB2DoubleReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2StringType, typeof(string), Adapter.GetDB2StringReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2ClobType, typeof(string), Adapter.GetDB2ClobReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2BinaryType, typeof(byte[]), Adapter.GetDB2BinaryReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2BlobType, typeof(byte[]), Adapter.GetDB2BlobReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2DateType, typeof(DateTime), Adapter.GetDB2DateReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2TimeType, typeof(TimeSpan), Adapter.GetDB2TimeReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2TimeStampType, typeof(DateTime), Adapter.GetDB2TimeStampReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2XmlType, typeof(string), Adapter.GetDB2XmlReaderMethod, dataReaderType: Adapter.DataReaderType); SetProviderField(Adapter.DB2RowIdType, typeof(byte[]), Adapter.GetDB2RowIdReaderMethod, dataReaderType: Adapter.DataReaderType); if (Adapter.DB2DateTimeType != null) { SetProviderField(Adapter.DB2DateTimeType, typeof(DateTime), Adapter.GetDB2DateTimeReaderMethod !, dataReaderType: Adapter.DataReaderType); } }
/// <summary> /// Creates <see cref="DataConnection"/> object using provided transaction object. /// </summary> /// <param name="transaction">Transaction instance.</param> /// <param name="version">DB2 version.</param> /// <returns><see cref="DataConnection"/> instance.</returns> public static DataConnection CreateDataConnection(IDbTransaction transaction, DB2Version version = DB2Version.LUW) { return(new DataConnection(GetDataProvider(version), transaction)); }
/// <summary> /// Creates <see cref="DataConnection"/> object using provided DB2 connection string. /// </summary> /// <param name="connectionString">Connection string.</param> /// <param name="version">DB2 version.</param> /// <returns><see cref="DataConnection"/> instance.</returns> public static DataConnection CreateDataConnection(string connectionString, DB2Version version = DB2Version.LUW) { return(new DataConnection(GetDataProvider(version), connectionString)); }
/// <summary> /// Creates <see cref="DataConnection"/> object using provided connection object. /// </summary> /// <param name="connection">Connection instance.</param> /// <param name="version">DB2 version.</param> /// <returns><see cref="DataConnection"/> instance.</returns> public static DataConnection CreateDataConnection(DbConnection connection, DB2Version version = DB2Version.LUW) { return(new DataConnection(GetDataProvider(version), connection)); }
/// <summary> /// Configure connection to use specific DB2 provider and connection string. /// </summary> /// <param name="builder">Instance of <see cref="LinqToDbConnectionOptionsBuilder"/>.</param> /// <param name="connectionString">DB2 connection string.</param> /// <param name="version">DB2 server version.</param> /// <returns>The builder instance so calls can be chained.</returns> public static LinqToDbConnectionOptionsBuilder UseDB2(this LinqToDbConnectionOptionsBuilder builder, string connectionString, DB2Version version) { return(builder.UseConnectionString(DB2Tools.GetDataProvider(version), connectionString)); }