protected AccessDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.IsSkipSupported = false; SqlProviderFlags.IsCountSubQuerySupported = false; SqlProviderFlags.IsInsertOrUpdateSupported = false; SqlProviderFlags.TakeHintsSupported = TakeHints.Percent; SqlProviderFlags.IsCrossJoinSupported = false; SqlProviderFlags.IsInnerJoinAsCrossSupported = false; SqlProviderFlags.IsDistinctOrderBySupported = false; SetCharField("DBTYPE_WCHAR", (r, i) => r.GetString(i).TrimEnd(' ')); SetCharFieldToType <char>("DBTYPE_WCHAR", (r, i) => DataTools.GetChar(r, i)); SetProviderField <IDataReader, TimeSpan, DateTime>((r, i) => r.GetDateTime(i) - new DateTime(1899, 12, 30)); SetProviderField <IDataReader, DateTime, DateTime>((r, i) => GetDateTime(r, i)); _sqlOptimizer = new AccessSqlOptimizer(SqlProviderFlags); if (System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator != ".") { _decimalType = OleDbType.VarChar; } }
protected AccessDataProvider(string name, MappingSchema mappingSchema) : base(name, mappingSchema) { SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.IsSkipSupported = false; SqlProviderFlags.IsCountSubQuerySupported = false; SqlProviderFlags.IsInsertOrUpdateSupported = false; SetCharField("DBTYPE_WCHAR", (r, i) => r.GetString(i).TrimEnd()); SetProviderField <IDataReader, TimeSpan, DateTime>((r, i) => r.GetDateTime(i) - new DateTime(1899, 12, 30)); SetProviderField <IDataReader, DateTime, DateTime>((r, i) => GetDateTime(r, i)); _sqlOptimizer = new AccessSqlOptimizer(SqlProviderFlags); }
public AccessOleDbDataProvider() : base(ProviderName.Access, MappingSchemaInstance, OleDbProviderAdapter.GetInstance()) { SqlProviderFlags.AcceptsTakeAsParameter = false; SqlProviderFlags.IsSkipSupported = false; SqlProviderFlags.IsCountSubQuerySupported = false; SqlProviderFlags.IsInsertOrUpdateSupported = false; SqlProviderFlags.TakeHintsSupported = TakeHints.Percent; SqlProviderFlags.IsCrossJoinSupported = false; SqlProviderFlags.IsInnerJoinAsCrossSupported = false; SqlProviderFlags.IsDistinctOrderBySupported = false; SqlProviderFlags.IsDistinctSetOperationsSupported = false; SqlProviderFlags.IsParameterOrderDependent = true; SqlProviderFlags.IsUpdateFromSupported = false; SqlProviderFlags.DefaultMultiQueryIsolationLevel = IsolationLevel.Unspecified; SetCharField("DBTYPE_WCHAR", (r, i) => r.GetString(i).TrimEnd(' ')); SetCharFieldToType <char>("DBTYPE_WCHAR", DataTools.GetCharExpression); SetProviderField <DbDataReader, TimeSpan, DateTime>((r, i) => r.GetDateTime(i) - new DateTime(1899, 12, 30)); _sqlOptimizer = new AccessSqlOptimizer(SqlProviderFlags); }