Exemplo n.º 1
0
        private IDbContext CreateDbContext(IDbContext ctx)
        {
            connection.StateChange += new StateChangeEventHandler(connection_StateChange);
            if (!(connection is DbConnectionWrapper))
            {
                switch (DbProviderName)
                {
                    case DbProviderNames.Oracle_ODP:
                        connection = new ODPConnectionWrapper(this,connection);
                        break;
                    case DbProviderNames.SQLite:
                        connection = new SQLiteConnectionWrapper(this, connection) { IsFileDatabase = true };
                        break;
                    case DbProviderNames.SqlCe40:
                    case DbProviderNames.SqlCe35:
                    case DbProviderNames.Oledb :
                        connection = new DbConnectionWrapper(this, connection) { IsFileDatabase = true };
                        break;
                    default:
                        connection = new DbConnectionWrapper(this,connection);
                        break;

                }
            }

            ctx = new InternalDbContext(this, connection);
            return ctx;
        }
Exemplo n.º 2
0
 protected DbExpressionWriter(TextWriter writer)
     : base(writer)
 {
     this.dbContext = ExecuteContext.DbContext;
 }
Exemplo n.º 3
0
 public static Expression Bind(InternalDbContext dbContext, Expression exp)
 {
     var instance = new FunctionBinder { DbContext = dbContext };
     return instance.Visit(exp);
 }
Exemplo n.º 4
0
        /// <summary>
        /// 创建DbContext(必须先注册实体到数据表的映射后才可创建DbContext)
        /// </summary>
        /// <returns></returns>
        public IDbContext CreateDbContext()
        {
            Guard.NotNull(Option.Dialect, "dialect");

            IDbContext ctx = null;
            if (connection == null)
                ctx = new InternalDbContext(this);
            else
                ctx = CreateDbContext(ctx);
            return ctx;
        }
Exemplo n.º 5
0
 protected DbExpressionWriter(TextWriter writer)
     : base(writer)
 {
     this.dbContext = ExecuteContext.DbContext;
 }
Exemplo n.º 6
0
 public static Expression Rewrite(InternalDbContext dbContext,Expression expression)
 {
     return new ClientJoinedProjectionRewriter(dbContext).Visit(expression);
 }
Exemplo n.º 7
0
 private ClientJoinedProjectionRewriter(InternalDbContext dbContext)
 {
     this.policy = dbContext;
     this.dbExpressionBuilder = dbContext.ExpressionBuilder;
 }
Exemplo n.º 8
0
 public static Expression Rewrite(InternalDbContext dbContext, Expression expression)
 {
     return(new ClientJoinedProjectionRewriter(dbContext).Visit(expression));
 }
Exemplo n.º 9
0
 private ClientJoinedProjectionRewriter(InternalDbContext dbContext)
 {
     this.policy = dbContext;
     this.dbExpressionBuilder = dbContext.ExpressionBuilder;
 }