protected MySqlDataProvider(string name, MappingSchema?mappingSchema) : base( name, mappingSchema != null ? new MappingSchema(mappingSchema, MySqlProviderAdapter.GetInstance(name).MappingSchema) : GetMappingSchema(name, MySqlProviderAdapter.GetInstance(name).MappingSchema), MySqlProviderAdapter.GetInstance(name)) { SqlProviderFlags.IsDistinctOrderBySupported = true; SqlProviderFlags.IsSubQueryOrderBySupported = true; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsDistinctSetOperationsSupported = false; SqlProviderFlags.IsUpdateFromSupported = false; _sqlOptimizer = new MySqlSqlOptimizer(SqlProviderFlags); // configure provider-specific data readers if (Adapter.GetMySqlDecimalMethodName != null) { // SetProviderField is not needed for this type SetToTypeField(Adapter.MySqlDecimalType !, Adapter.GetMySqlDecimalMethodName, Adapter.DataReaderType); } if (Adapter.GetDateTimeOffsetMethodName != null) { SetProviderField(typeof(DateTimeOffset), Adapter.GetDateTimeOffsetMethodName, Adapter.DataReaderType); SetToTypeField(typeof(DateTimeOffset), Adapter.GetDateTimeOffsetMethodName, Adapter.DataReaderType); } SetProviderField(Adapter.MySqlDateTimeType, Adapter.GetMySqlDateTimeMethodName, Adapter.DataReaderType); SetToTypeField(Adapter.MySqlDateTimeType, Adapter.GetMySqlDateTimeMethodName, Adapter.DataReaderType); }
protected MySqlDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { SqlProviderFlags.IsCommonTableExpressionsSupported = true; _sqlOptimizer = new MySqlSqlOptimizer(SqlProviderFlags); }
protected MySqlDataProvider(string name) : base(name, GetMappingSchema(name), MySqlProviderAdapter.GetInstance(name)) { SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsSubQueryOrderBySupported = true; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsDistinctSetOperationsSupported = false; SqlProviderFlags.IsUpdateFromSupported = false; SqlProviderFlags.IsNamingQueryBlockSupported = true; SqlProviderFlags.RowConstructorSupport = RowFeature.Equality | RowFeature.Comparisons | RowFeature.CompareToSelect | RowFeature.In; _sqlOptimizer = new MySqlSqlOptimizer(SqlProviderFlags); // configure provider-specific data readers if (Adapter.GetMySqlDecimalMethodName != null) { // SetProviderField is not needed for this type SetToTypeField(Adapter.MySqlDecimalType !, Adapter.GetMySqlDecimalMethodName, Adapter.DataReaderType); } if (Adapter.GetDateTimeOffsetMethodName != null) { SetProviderField(typeof(DateTimeOffset), Adapter.GetDateTimeOffsetMethodName, Adapter.DataReaderType); SetToTypeField(typeof(DateTimeOffset), Adapter.GetDateTimeOffsetMethodName, Adapter.DataReaderType); } SetProviderField(Adapter.MySqlDateTimeType, Adapter.GetMySqlDateTimeMethodName, Adapter.DataReaderType); SetToTypeField(Adapter.MySqlDateTimeType, Adapter.GetMySqlDateTimeMethodName, Adapter.DataReaderType); if (Adapter.GetTimeSpanMethodName != null) { SetProviderField(typeof(TimeSpan), Adapter.GetTimeSpanMethodName, Adapter.DataReaderType); } if (Adapter.GetSByteMethodName != null) { SetProviderField(typeof(sbyte), Adapter.GetSByteMethodName, Adapter.DataReaderType); } if (Adapter.GetUInt16MethodName != null) { SetProviderField(typeof(ushort), Adapter.GetUInt16MethodName, Adapter.DataReaderType); } if (Adapter.GetUInt32MethodName != null) { SetProviderField(typeof(uint), Adapter.GetUInt32MethodName, Adapter.DataReaderType); } if (Adapter.GetUInt64MethodName != null) { SetProviderField(typeof(ulong), Adapter.GetUInt64MethodName, Adapter.DataReaderType); } #if NET6_0_OR_GREATER if (Adapter.GetTimeOnlyMethodName != null) { SetProviderField(typeof(TimeOnly), Adapter.GetTimeOnlyMethodName, Adapter.DataReaderType); } if (Adapter.GetDateOnlyMethodName != null) { SetProviderField(typeof(DateOnly), Adapter.GetDateOnlyMethodName, Adapter.DataReaderType); } #endif }
protected MySqlDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { SqlProviderFlags.IsDistinctOrderBySupported = true; SqlProviderFlags.IsSubQueryOrderBySupported = true; SqlProviderFlags.IsCommonTableExpressionsSupported = true; SqlProviderFlags.IsDistinctSetOperationsSupported = false; _sqlOptimizer = new MySqlSqlOptimizer(SqlProviderFlags); }
protected MySqlDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { _sqlOptimizer = new MySqlSqlOptimizer(SqlProviderFlags); }