public abstract List <object> Query( QueryWindows query, string propertyNameFilter, Type entityType, bool disposeConnectionAfterExecute, DbConnection connection, DbTransaction transaction);
public List <E> Query <E>(QueryWindows query, string propertyNameFilter) where E : class { List <object> objects = Query(query, propertyNameFilter, typeof(E)); List <E> result = new List <E>(); objects.ForEach(o => result.Add((E)o)); return(result); }
public int ExecuteNonQuery(QueryWindows query) { int result = -1; List <DatabaseTableWindows> tablesMentioned = GetTablesMentionedInQuery(query); using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand(query.SqlQueryString, connection)) { query.SqlParameters.ForEach(p => command.Parameters.Add(p)); result = command.ExecuteNonQuery(); } } return(result); }
public override List <object> Query( QueryWindows query, string propertyNameFilter, Type entityType, bool disposeConnectionAfterExecute, DbConnection connection, DbTransaction transaction) { List <object> result = null; try { List <DatabaseTableWindows> tablesMentioned = GetTablesMentionedInQuery(query); if (connection == null) { connection = new SQLiteConnection(_connectionString); } if (connection.State != ConnectionState.Open) { connection.Open(); } using (SQLiteCommand command = new SQLiteCommand(query.SqlQueryString, (SQLiteConnection)connection)) { if (transaction != null) { command.Transaction = (SQLiteTransaction)transaction; } query.SqlParameters.ForEach(p => command.Parameters.Add(p)); command.CommandType = System.Data.CommandType.Text; using (SQLiteDataReader reader = command.ExecuteReader()) { result = DataHelperWindows.ParseReaderToEntities(reader, entityType, propertyNameFilter); } } } finally { if (disposeConnectionAfterExecute && connection != null && connection.State != ConnectionState.Closed) { connection.Dispose(); } } return(result); }
public List <DatabaseTableWindows> GetTablesMentionedInQuery(QueryWindows query) { List <DatabaseTableWindows> result = new List <DatabaseTableWindows>(); foreach (string t in query.TableNamesInQuery) { DatabaseTableWindows table = _tables[t]; if (table == null) { throw new NullReferenceException(string.Format( "Could not find table {0} mentioned in {1} inside {2}.", t, query.GetType().FullName, this.GetType().FullName)); } result.Add(table); } return(result); }
public override List <object> Query(QueryWindows query, string propertyNameFilter, Type entityType) { List <DatabaseTableWindows> tablesMentioned = GetTablesMentionedInQuery(query); List <object> result = null; using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand(query.SqlQueryString, connection)) { query.SqlParameters.ForEach(p => command.Parameters.Add(p)); command.CommandType = System.Data.CommandType.Text; using (SQLiteDataReader reader = command.ExecuteReader()) { result = DataHelperWindows.ParseReaderToEntities(reader, entityType, propertyNameFilter); } } } return(result); }
public abstract List <object> Query( QueryWindows query, string propertyNameFilter, Type entityType);