public static IOrmLiteDialectProvider Configure(IOrmLiteDialectProvider dialectProvider) { dialectProvider.RegisterConverter<SqlGeography>(new SqlServerGeographyTypeConverter()); dialectProvider.RegisterConverter<SqlGeometry>(new SqlServerGeometryTypeConverter()); dialectProvider.RegisterConverter<SqlHierarchyId>(new SqlServerHierarchyIdTypeConverter()); return dialectProvider; }
OrmLiteConnectionFactory Init(string connStr, IOrmLiteDialectProvider dialectProvider) { ConnectionString = connStr; OrmLiteConfig.DialectProvider = dialectProvider; DbFactory = new OrmLiteConnectionFactory(ConnectionString, dialectProvider); return DbFactory; }
public string GetQuotedValue(object fromInstance, IOrmLiteDialectProvider dialectProvider = null) { if (dialectProvider == null) dialectProvider = OrmLiteConfig.DialectProvider; var value = GetValue(fromInstance); return dialectProvider.GetQuotedValue(value, ColumnType); }
public SqlInValues(IEnumerable values, IOrmLiteDialectProvider dialectProvider=null) { this.values = values; this.dialectProvider = dialectProvider ?? OrmLiteConfig.DialectProvider; if (values != null) foreach (var value in values) ++Count; }
public OrmLiteConnectionFactory(string connectionString, bool autoDisposeConnection, IOrmLiteDialectProvider dialectProvider) { ConnectionString = connectionString; AutoDisposeConnection = autoDisposeConnection; if (dialectProvider != null) { OrmLiteConfig.DialectProvider = dialectProvider; } }
public static IOrmLiteDialectProvider Configure(IOrmLiteDialectProvider dialectProvider, string libraryPath = null) { LoadAssembly(Msvcr100FileName, libraryPath); LoadAssembly(SqlServerSpatial110FileName, libraryPath); dialectProvider.RegisterConverter<SqlGeography>(new SqlServerGeographyTypeConverter()); dialectProvider.RegisterConverter<SqlGeometry>(new SqlServerGeometryTypeConverter()); dialectProvider.RegisterConverter<SqlHierarchyId>(new SqlServerHierarchyIdTypeConverter()); return dialectProvider; }
public static IOrmLiteDialectProvider Configure(IOrmLiteDialectProvider dialectProvider, string[] fileNames, string libraryPath = null) { foreach (var fileName in fileNames) { LoadAssembly(fileName, libraryPath); } dialectProvider.RegisterConverter<string>(new SqlServerExtendedStringConverter()); dialectProvider.RegisterConverter<SqlGeography>(new SqlServerGeographyTypeConverter()); dialectProvider.RegisterConverter<SqlGeometry>(new SqlServerGeometryTypeConverter()); dialectProvider.RegisterConverter<SqlHierarchyId>(new SqlServerHierarchyIdTypeConverter()); return dialectProvider; }
public OrmLiteConnectionFactory(string connectionString, bool autoDisposeConnection, IOrmLiteDialectProvider dialectProvider, bool setGlobalConnection) { ConnectionString = connectionString; AutoDisposeConnection = autoDisposeConnection; this.DialectProvider = dialectProvider ?? OrmLiteConfig.DialectProvider; if (setGlobalConnection && dialectProvider != null) { OrmLiteConfig.DialectProvider = dialectProvider; } this.ConnectionFilter = x => x; }
public OrmLiteConnectionFactory(string connectionString, IOrmLiteDialectProvider dialectProvider, bool setGlobalDialectProvider) { ConnectionString = connectionString; AutoDisposeConnection = connectionString != ":memory:"; this.DialectProvider = dialectProvider ?? OrmLiteConfig.DialectProvider; if (setGlobalDialectProvider && dialectProvider != null) { OrmLiteConfig.DialectProvider = dialectProvider; } this.ConnectionFilter = x => x; }
public virtual OrmLiteConnectionFactory GetFactory(IOrmLiteDialectProvider dialectProvider, string connectionString) { try { if (_ormLiteConnectionFactory == null) { _ormLiteConnectionFactory = new OrmLiteConnectionFactory( connectionString,SqliteOrmLiteDialectProvider.Instance); } } catch (NullReferenceException e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } return _ormLiteConnectionFactory; }
public void RegisterConnection(string connectionKey, string connectionString, IOrmLiteDialectProvider dialectProvider, bool autoDisposeConnection = true) { RegisterConnection(connectionKey, new OrmLiteConnectionFactory(connectionString, autoDisposeConnection, dialectProvider, autoDisposeConnection)); }
public static string GetQuotedColumnName(this IOrmLiteDialectProvider dialect, FieldDefinition fieldDef) { return(dialect.GetQuotedColumnName(fieldDef.FieldName)); }
public static List <T> ConvertToList <T>(this IDataReader reader, IOrmLiteDialectProvider dialectProvider, HashSet <string> onlyFields = null) { if (typeof(T) == typeof(List <object>)) { var to = new List <List <object> >(); using (reader) { while (reader.Read()) { var row = reader.ConvertToListObjects(); to.Add(row); } } return((List <T>)(object) to); } if (typeof(T) == typeof(Dictionary <string, object>)) { var to = new List <Dictionary <string, object> >(); using (reader) { while (reader.Read()) { var row = reader.ConvertToDictionaryObjects(); to.Add(row); } } return((List <T>)(object) to); } if (typeof(T) == typeof(object)) { var to = new List <object>(); using (reader) { while (reader.Read()) { var row = reader.ConvertToExpandoObject(); to.Add(row); } } return((List <T>)(object) to.ToList()); } if (typeof(T).IsValueTuple()) { var to = new List <T>(); var values = new object[reader.FieldCount]; using (reader) { while (reader.Read()) { var row = reader.ConvertToValueTuple <T>(values, dialectProvider); to.Add(row); } } return(to); } if (typeof(T).IsTuple()) { var to = new List <T>(); using (reader) { var genericArgs = typeof(T).GetGenericArguments(); var modelIndexCaches = reader.GetMultiIndexCaches(dialectProvider, onlyFields, genericArgs); var values = new object[reader.FieldCount]; var genericTupleMi = typeof(T).GetGenericTypeDefinition().GetCachedGenericType(genericArgs); var activator = genericTupleMi.GetConstructor(genericArgs).GetActivator(); while (reader.Read()) { var tupleArgs = reader.ToMultiTuple(dialectProvider, modelIndexCaches, genericArgs, values); var tuple = activator(tupleArgs.ToArray()); to.Add((T)tuple); } } return(to); } else { var to = new List <T>(); using (reader) { var indexCache = reader.GetIndexFieldsCache(ModelDefinition <T> .Definition, dialectProvider, onlyFields: onlyFields); var values = new object[reader.FieldCount]; while (reader.Read()) { var row = CreateInstance <T>(); row.PopulateWithSqlReader(dialectProvider, reader, indexCache, values); to.Add(row); } } return(to); } }
public void RegisterConnection(string connectionKey, string connectionString, IOrmLiteDialectProvider dialectProvider, bool autoDisposeConnection = true);
public string GetQuotedValue(object fromInstance, IOrmLiteDialectProvider dialect = null) { var value = GetValue(fromInstance); return((dialect ?? OrmLiteConfig.DialectProvider).GetQuotedValue(value, ColumnType)); }
public SqliteParameterizedSqlExpression(IOrmLiteDialectProvider dialectProvider) : base(dialectProvider) { }
public string GetQuotedValue(object fromInstance, IOrmLiteDialectProvider dialect = null) { var value = GetValue(fromInstance); return (dialect ?? OrmLiteConfig.DialectProvider).GetQuotedValue(value, ColumnType); }
public static object FromDbValue(this IOrmLiteDialectProvider dialect, IDataReader reader, int columnIndex, Type type) { return(dialect.FromDbValue(dialect.GetValue(reader, columnIndex, type), type)); }
public static string ToFieldName(this IOrmLiteDialectProvider dialect, string paramName) { return(paramName.Substring(dialect.ParamString.Length)); }
public static string GetParam(this IOrmLiteDialectProvider dialect, string name) { return(dialect.ParamString + (name ?? "").Replace(" ", "")); }
public static StringConverter GetStringConverter(this IOrmLiteDialectProvider dialect) { return((StringConverter)dialect.GetConverter(typeof(string))); }
public static bool HasConverter(this IOrmLiteDialectProvider dialect, Type type) { return(dialect.GetConverter(type) != null); }
public static IOrmLiteConverter GetConverter <T>(this IOrmLiteDialectProvider dialect) { return(dialect.GetConverter(typeof(T))); }
public static string FmtTable(this string tableName, IOrmLiteDialectProvider dialect = null) { return (dialect ?? OrmLiteConfig.DialectProvider).NamingStrategy.GetTableName(tableName); }
public string GetQuotedName(IOrmLiteDialectProvider dialectProvider) { return IsRowVersion ? dialectProvider.GetRowVersionColumnName(this) : dialectProvider.GetQuotedColumnName(FieldName); }
public static string GetParam(this IOrmLiteDialectProvider dialect, int indexNo = 0) { return(dialect.ParamString + indexNo); }
public static string GetParam(this IOrmLiteDialectProvider dialect, string name) { return(dialect.ParamString + (dialect.ParamNameFilter?.Invoke(name) ?? name)); }
public virtual IDbConnection OpenDbConnection(string connString = null, IOrmLiteDialectProvider dialectProvider = null) { dialectProvider = dialectProvider ?? OrmLiteConfig.DialectProvider; connString = connString ?? ConnectionString; return new OrmLiteConnectionFactory(connString, dialectProvider).OpenDbConnection(); }
public static T PopulateWithSqlReader <T>(this T objWithProperties, IOrmLiteDialectProvider dialectProvider, IDataReader reader, Tuple <FieldDefinition, int, IOrmLiteConverter>[] indexCache, object[] values) { try { if (!OrmLiteConfig.DeoptimizeReader) { if (values == null) { values = new object[reader.FieldCount]; } dialectProvider.GetValues(reader, values); } else { //Calling GetValues() on System.Data.SQLite.Core ADO.NET Provider changes behavior of reader.GetGuid() //So allow providers to by-pass reader.GetValues() optimization. values = null; } foreach (var fieldCache in indexCache) { var fieldDef = fieldCache.Item1; var index = fieldCache.Item2; var converter = fieldCache.Item3; if (values != null && values[index] == DBNull.Value) { var value = fieldDef.IsNullable ? null : fieldDef.FieldTypeDefaultValue; if (OrmLiteConfig.OnDbNullFilter != null) { var useValue = OrmLiteConfig.OnDbNullFilter(fieldDef); if (useValue != null) { value = useValue; } } fieldDef.SetValueFn(objWithProperties, value); } else { var value = converter.GetValue(reader, index, values); if (value == null) { if (!fieldDef.IsNullable) { value = fieldDef.FieldTypeDefaultValue; } if (OrmLiteConfig.OnDbNullFilter != null) { var useValue = OrmLiteConfig.OnDbNullFilter(fieldDef); if (useValue != null) { value = useValue; } } fieldDef.SetValueFn(objWithProperties, value); } else { var fieldValue = converter.FromDbValue(fieldDef.FieldType, value); fieldDef.SetValueFn(objWithProperties, fieldValue); } } } } catch (Exception ex) { Log.Error(ex); } return(objWithProperties); }
public static string SqlSpread <T>(this IOrmLiteDialectProvider dialect, params T[] values) => OrmLiteUtils.SqlJoin(values, dialect);
internal static string GetColumnNames(this Type tableType, IOrmLiteDialectProvider dialect) { return(GetColumnNames(tableType.GetModelDefinition(), dialect)); }
public SqliteExpression(IOrmLiteDialectProvider dialectProvider) : base(dialectProvider) { }
public static string GetColumnNames(this ModelDefinition modelDef, IOrmLiteDialectProvider dialect) { return(dialect.GetColumnNames(modelDef)); }
public static T ConvertToValueTuple <T>(this IDataReader reader, object[] values, IOrmLiteDialectProvider dialectProvider) { var row = typeof(T).CreateInstance(); var typeFields = TypeFields.Get(typeof(T)); values = reader.PopulateValues(values, dialectProvider); for (var i = 0; i < reader.FieldCount; i++) { var itemName = "Item" + (i + 1); var field = typeFields.GetAccessor(itemName); if (field == null) { break; } var fieldType = field.FieldInfo.FieldType; var converter = dialectProvider.GetConverterBestMatch(fieldType); var dbValue = converter.GetValue(reader, i, values); if (dbValue == null) { continue; } if (dbValue.GetType() == fieldType) { field.PublicSetterRef(ref row, dbValue); } else { var fieldValue = converter.FromDbValue(fieldType, dbValue); field.PublicSetterRef(ref row, fieldValue); } } return((T)row); }
public static string SqlColumn(this string columnName, IOrmLiteDialectProvider dialect = null) { return((dialect ?? OrmLiteConfig.DialectProvider).GetQuotedColumnName(columnName)); }
public TemporaryNamingStrategy(INamingStrategy temporary) { _dialectProvider = OrmLiteConfig.DialectProvider; _previous = _dialectProvider.NamingStrategy; _dialectProvider.NamingStrategy = temporary; }
public static string SqlColumnRaw(this string columnName, IOrmLiteDialectProvider dialect = null) { return((dialect ?? OrmLiteConfig.DialectProvider).NamingStrategy.GetColumnName(columnName)); }
public virtual void RegisterDialectProvider(string providerName, IOrmLiteDialectProvider dialectProvider) { DialectProviders[providerName] = dialectProvider; }
public static string SqlTable(this string tableName, IOrmLiteDialectProvider dialect = null) { return((dialect ?? OrmLiteConfig.DialectProvider).GetQuotedTableName(tableName)); }
public OrmLiteConnectionFactory(string connectionString, bool autoDisposeConnection, IOrmLiteDialectProvider dialectProvider) : this(connectionString, autoDisposeConnection, dialectProvider, true) { }
public static string SqlTableRaw(this string tableName, IOrmLiteDialectProvider dialect = null) { return((dialect ?? OrmLiteConfig.DialectProvider).NamingStrategy.GetTableName(tableName)); }
public OrmLiteConnectionFactory(string connectionString, bool autoDisposeConnection, IOrmLiteDialectProvider dialectProvider, bool setGlobalConnection);
public static SqlInValues SqlInValues <T>(this T[] values, IOrmLiteDialectProvider dialect = null) { return(new SqlInValues(values, dialect)); }
public static string FmtColumn(this string columnName, IOrmLiteDialectProvider dialect=null) { return (dialect ?? OrmLiteConfig.DialectProvider).NamingStrategy.GetColumnName(columnName); }
public static bool IsMySqlConnector(this IOrmLiteDialectProvider dialect) => dialect.GetType().Name == "MySqlConnectorDialectProvider";
public OrmLiteCommand(OrmLiteConnection dbConn, IDbCommand dbCmd) { this.dbConn = dbConn; this.dbCmd = dbCmd; this.DialectProvider = dbConn.GetDialectProvider(); }
public virtual void RegisterConnection(string connectionKey, string connectionString, IOrmLiteDialectProvider dialectProvider) { RegisterConnection(connectionKey, new OrmLiteConnectionFactory(connectionString, dialectProvider, setGlobalDialectProvider: false)); }
public static IDbConnection ToDbConnection(this string dbConnectionStringOrFilePath, IOrmLiteDialectProvider dialectProvider) { return dialectProvider.CreateConnection(dbConnectionStringOrFilePath, null); }
public static IOrmLiteDialectProvider Configure(IOrmLiteDialectProvider dialectProvider, string libraryPath = null) => Configure(dialectProvider, new string[] { Msvcr100FileName, SqlServerSpatial110FileName }, libraryPath);
public OrmLiteConnectionFactory(string connectionString, IOrmLiteDialectProvider dialectProvider);
public string GetQuotedName(IOrmLiteDialectProvider dialectProvider) { return(IsRowVersion ? dialectProvider.GetRowVersionColumnName(this) : dialectProvider.GetQuotedColumnName(FieldName)); }
public static Tuple <FieldDefinition, int, IOrmLiteConverter>[] GetIndexFieldsCache(this IDataReader reader, ModelDefinition modelDefinition, IOrmLiteDialectProvider dialect, HashSet <string> onlyFields = null, int startPos = 0, int?endPos = null) { var end = endPos.GetValueOrDefault(reader.FieldCount); var cacheKey = startPos == 0 && end == reader.FieldCount && onlyFields == null ? new IndexFieldsCacheKey(reader, modelDefinition, dialect) : null; Tuple <FieldDefinition, int, IOrmLiteConverter>[] value; if (cacheKey != null) { lock (indexFieldsCache) { if (indexFieldsCache.TryGetValue(cacheKey, out value)) { return(value); } } } var cache = new List <Tuple <FieldDefinition, int, IOrmLiteConverter> >(); var ignoredFields = modelDefinition.IgnoredFieldDefinitions; var remainingFieldDefs = modelDefinition.FieldDefinitionsArray .Where(x => !ignoredFields.Contains(x) && x.SetValueFn != null).ToList(); var mappedReaderColumns = new bool[end]; for (var i = startPos; i < end; i++) { var columnName = reader.GetName(i); var fieldDef = modelDefinition.GetFieldDefinition(columnName); if (fieldDef == null) { foreach (var def in modelDefinition.FieldDefinitionsArray) { if (string.Equals(dialect.NamingStrategy.GetColumnName(def.FieldName), columnName, StringComparison.OrdinalIgnoreCase)) { fieldDef = def; break; } } } if (fieldDef != null && !ignoredFields.Contains(fieldDef) && fieldDef.SetValueFn != null) { remainingFieldDefs.Remove(fieldDef); mappedReaderColumns[i] = true; cache.Add(Tuple.Create(fieldDef, i, dialect.GetConverterBestMatch(fieldDef))); } } if (remainingFieldDefs.Count > 0 && onlyFields == null) { var dbFieldMap = new Dictionary <string, int>(StringComparer.OrdinalIgnoreCase); for (var i = startPos; i < end; i++) { if (!mappedReaderColumns[i]) { var fieldName = reader.GetName(i); dbFieldMap[fieldName] = i; } } if (dbFieldMap.Count > 0) { foreach (var fieldDef in remainingFieldDefs) { var index = FindColumnIndex(dialect, fieldDef, dbFieldMap); if (index != NotFound) { cache.Add(Tuple.Create(fieldDef, index, dialect.GetConverterBestMatch(fieldDef))); } } } } var result = cache.ToArray(); if (cacheKey != null) { lock (indexFieldsCache) { if (indexFieldsCache.TryGetValue(cacheKey, out value)) { return(value); } if (indexFieldsCache.Count < maxCachedIndexFields) { indexFieldsCache.Add(cacheKey, result); } } } return(result); }
public static void InitDbParam(this IOrmLiteDialectProvider dialect, IDbDataParameter dbParam, Type columnType) { var converter = dialect.GetConverterBestMatch(columnType); converter.InitDbParam(dbParam, columnType); }
public static IDbConnection ToDbConnection(this string dbConnectionStringOrFilePath, IOrmLiteDialectProvider dialectProvider) { var dbConn = dialectProvider.CreateConnection(dbConnectionStringOrFilePath, options: null); return dbConn; }
public IndexFieldsCacheKey(IDataReader reader, ModelDefinition modelDefinition, IOrmLiteDialectProvider dialect) { ModelDefinition = modelDefinition; Dialect = dialect; var startPos = 0; var endPos = reader.FieldCount; Fields = new List <string>(endPos - startPos); for (var i = startPos; i < endPos; i++) { Fields.Add(reader.GetName(i)); } unchecked { hashCode = 17; hashCode = hashCode * 23 + ModelDefinition.GetHashCode(); hashCode = hashCode * 23 + Dialect.GetHashCode(); hashCode = hashCode * 23 + Fields.Count; for (var i = 0; i < Fields.Count; i++) { hashCode = hashCode * 23 + Fields[i].Length; } } }
public OrmLiteConnectionFactory(string connectionString, IOrmLiteDialectProvider dialectProvider) : this(connectionString, dialectProvider, true) { }
internal static string CreateMultiSelect <T, T2, T3, T4, T5, T6, T7>(this SqlExpression <T> q, IOrmLiteDialectProvider dialectProvider) { var sb = StringBuilderCache.Allocate() .Append($"{dialectProvider.GetQuotedTableName(typeof(T).GetModelDefinition())}.*, {Sql.EOT}"); if (typeof(T2) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T2).GetModelDefinition())}.*, {Sql.EOT}"); } if (typeof(T3) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T3).GetModelDefinition())}.*, {Sql.EOT}"); } if (typeof(T4) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T4).GetModelDefinition())}.*, {Sql.EOT}"); } if (typeof(T5) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T5).GetModelDefinition())}.*, {Sql.EOT}"); } if (typeof(T6) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T6).GetModelDefinition())}.*, {Sql.EOT}"); } if (typeof(T7) != typeof(EOT)) { sb.Append($", {dialectProvider.GetQuotedTableName(typeof(T7).GetModelDefinition())}.*, {Sql.EOT}"); } return(StringBuilderCache.ReturnAndFree(sb)); }
private string DialectToDatabaseString(IOrmLiteDialectProvider provider) { switch (provider.GetType().Name) { case "SqliteOrmLiteDialectProvider": return "sqlite"; case "MySqlDialectProvider": return "mysql"; default: return "sqlserver"; } }
public CustomSqlExpression(IOrmLiteDialectProvider dialectProvider) : base(dialectProvider) { }