public override object ExecuteScalar(Expression expression, Type type) { var visitor = new SqlCommandTextVisitor(this); visitor.Visit(expression); return(ExecuteScalar(visitor.CommandText)); }
public override IEnumerable ExecuteQuery(Type elementType, Expression expression) { var visitor = new SqlCommandTextVisitor(this); visitor.Visit(expression); return(ExecuteQuery(elementType, visitor.CommandText)); }
public override void ExecuteNonQuery(Expression expression) { var visitor = new SqlCommandTextVisitor(this); visitor.Visit(expression); ExecuteNonQuery(visitor.CommandText); }
public override void BulkInsert(IEnumerable entities, TableAttribute table, IColumnInfoCollection columns) { using (_connection = OpenConnection()) { lock (_connection) { _transaction = null; var sb = new StringBuilder(); foreach (var entity in entities) { var expression = CreateInsertExpression(entity, table, columns); var visitor = new SqlCommandTextVisitor(this); visitor.Visit(expression); sb.AppendLine(visitor.CommandText); } ExecuteNonQuery(sb.ToString()); } } }