internal static IEnumerable <T> SelectLazyFmt <T>(this IDbCommand dbCmd, string filter, params object[] filterParams) { dbCmd.CommandText = OrmLiteConfig.DialectProvider.ToSelectStatement(typeof(T), filter, filterParams); if (OrmLiteConfig.ResultsFilter != null) { foreach (var item in OrmLiteConfig.ResultsFilter.GetList <T>(dbCmd)) { yield return(item); } yield break; } var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecReader(dbCmd.CommandText)) { var indexCache = reader.GetIndexFieldsCache(ModelDefinition <T> .Definition); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(reader, fieldDefs, indexCache); yield return(row); } } }
internal static T ExprConvertTo <T>(this IDataReader dataReader) { var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; var dialectProvider = OrmLiteConfig.DialectProvider; using (dataReader) { if (dataReader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); var namingStrategy = OrmLiteConfig.DialectProvider.NamingStrategy; for (int i = 0; i < dataReader.FieldCount; i++) { var fieldDef = fieldDefs.FirstOrDefault(x => namingStrategy.GetColumnName(x.FieldName).ToUpper() == dataReader.GetName(i).ToUpper()); dialectProvider.SetDbValue(fieldDef, dataReader, i, row); } return(row); } return(default(T)); } }
internal static IEnumerable <T> SelectLazy <T>(this IDbCommand dbCmd, string sql, object anonType = null) { if (anonType != null) { dbCmd.SetParameters <T>(anonType, excludeDefaults: false); } var dialectProvider = dbCmd.GetDialectProvider(); dbCmd.CommandText = dialectProvider.ToSelectStatement(typeof(T), sql); var resultsFilter = OrmLiteConfig.ResultsFilter; if (resultsFilter != null) { foreach (var item in resultsFilter.GetList <T>(dbCmd)) { yield return(item); } yield break; } var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecuteReader()) { var indexCache = reader.GetIndexFieldsCache(ModelDefinition <T> .Definition); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(dialectProvider, reader, fieldDefs, indexCache); yield return(row); } } }
internal static IEnumerable <T> WhereLazy <T>(this IDbCommand dbCmd, object anonType) { dbCmd.SetFilters <T>(anonType); if (OrmLiteConfig.ResultsFilter != null) { foreach (var item in OrmLiteConfig.ResultsFilter.GetList <T>(dbCmd)) { yield return(item); } yield break; } var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecuteReader()) { var indexCache = reader.GetIndexFieldsCache(ModelDefinition <T> .Definition); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(reader, fieldDefs, indexCache); yield return(row); } } }
internal static List <T> ExprConvertToList <T>(this IDataReader dataReader) { var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; var fieldDefCache = new Dictionary <int, FieldDefinition>(); var dialectProvider = OrmLiteConfig.DialectProvider; var to = new List <T>(); using (dataReader) { while (dataReader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); var namingStrategy = dialectProvider.NamingStrategy; for (int i = 0; i < dataReader.FieldCount; i++) { FieldDefinition fieldDef; if (!fieldDefCache.TryGetValue(i, out fieldDef)) { fieldDef = fieldDefs.FirstOrDefault(x => namingStrategy.GetColumnName(x.FieldName).ToUpper() == dataReader.GetName(i).ToUpper()); fieldDefCache[i] = fieldDef; } dialectProvider.SetDbValue(fieldDef, dataReader, i, row); } to.Add(row); } } return(to); }
private static T ConvertTo <T>(IDataReader dataReader) { var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; using (dataReader) { if (dataReader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); var namingStrategy = OrmLiteConfig.DialectProvider.NamingStrategy; for (int i = 0; i < dataReader.FieldCount; i++) { var fieldDef = fieldDefs.FirstOrDefault( x => namingStrategy.GetColumnName(x.FieldName).ToUpper() == dataReader.GetName(i).ToUpper()); if (fieldDef == null) { continue; } var value = dataReader.GetValue(i); fieldDef.SetValue(row, value); } return(row); } return(default(T)); } }
public string ToSqlInString() { if (Count == 0) { return("NULL"); } return(OrmLiteUtilExtensions.SqlJoin(values, dialectProvider)); }
internal static T CreateInstance <T>(this IDataReader dataReader, IOrmLiteDialectProvider dialectProvider) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; foreach (var fieldDef in fieldDefs) { var index = dataReader.FindColumnIndex(dialectProvider, fieldDef); dialectProvider.SetDbValue(fieldDef, dataReader, index, row); } return(row); }
internal static Task <List <T> > ExprConvertToListAsync <T>(this IDataReader dataReader, IOrmLiteDialectProvider dialectProvider, CancellationToken token) { var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; var indexCache = dataReader.GetIndexFieldsCache(ModelDefinition <T> .Definition); return(dialectProvider.ReaderEach(dataReader, () => { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(dialectProvider, dataReader, fieldDefs, indexCache); return row; }, token)); }
internal static IEnumerable <T> Each <T>(this IDbCommand dbCmd, string filter, params object[] filterParams) { var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecReader( OrmLiteConfig.DialectProvider.ToSelectStatement(typeof(T), filter, filterParams))) { var indexCache = new Dictionary <string, int>(); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(reader, fieldDefs, indexCache); yield return(row); } } }
internal static IEnumerable <T> EachWhere <T>(this IDbCommand dbCmd, object anonType) { dbCmd.SetFilters <T>(anonType); var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecuteReader()) { var indexCache = new Dictionary <string, int>(); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(reader, fieldDefs, indexCache); yield return(row); } } }
internal static List <T> ExprConvertToList <T>(this IDataReader dataReader, IOrmLiteDialectProvider dialectProvider) { var fieldDefs = ModelDefinition <T> .Definition.AllFieldDefinitionsArray; var to = new List <T>(); using (dataReader) { var indexCache = dataReader.GetIndexFieldsCache(ModelDefinition <T> .Definition); while (dataReader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(dialectProvider, dataReader, fieldDefs, indexCache); to.Add(row); } } return(to); }
internal static IEnumerable <T> QueryEach <T>(this IDbCommand dbCmd, string sql, object anonType = null) { if (anonType != null) { dbCmd.SetFilters <T>(anonType); } var fieldDefs = ModelDefinition <T> .Definition.FieldDefinitionsArray; using (var reader = dbCmd.ExecuteReader()) { var indexCache = reader.GetIndexFieldsCache(ModelDefinition <T> .Definition); while (reader.Read()) { var row = OrmLiteUtilExtensions.CreateInstance <T>(); row.PopulateWithSqlReader(reader, fieldDefs, indexCache); yield return(row); } } }
public string ToSqlInString() { return(OrmLiteUtilExtensions.SqlJoin(values)); }