Exemplo n.º 1
0
 /// <summary>
 /// 初始化 <see cref="ExpressionVisitorBase"/> 类的新实例
 /// </summary>
 /// <param name="provider">查询语义提供者</param>
 /// <param name="aliases">表别名集合</param>
 /// <param name="expression">将访问的表达式</param>
 public ExpressionVisitorBase(IDbQueryProvider provider, TableAlias aliases, Expression expression)
 {
     _provider     = provider;
     _aliases      = aliases;
     _expression   = expression;
     _visitedStack = new MemberVisitedStack();
     _navMembers   = new HashCollection <NavMember>();
 }
Exemplo n.º 2
0
        /// <summary>
        /// 实例化 <see cref="MappingCommand"/> 类的新实例
        /// </summary>
        /// <param name="provider">数据查询提供者</param>
        /// <param name="aliases">别名</param>
        /// <param name="token">解析上下文参数</param>
        public MappingCommand(IDbQueryProvider provider, TableAlias aliases, ResolveToken token)
            : base(string.Empty, token != null ? token.Parameters : null, System.Data.CommandType.Text)
        {
            _provider   = provider;
            _aliases    = aliases;
            _navMembers = new HashCollection <NavMember>();

            _joinFragment  = provider.CreateSqlBuilder(token);
            _whereFragment = provider.CreateSqlBuilder(token);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 合并外键
 /// </summary>
 public void AddNavMembers(HashCollection <NavMember> navMembers)
 {
     if (navMembers != null && navMembers.Count > 0)
     {
         foreach (var nav in navMembers)
         {
             if (!_navMembers.Contains(nav.KeyId))
             {
                 _navMembers.Add(nav);
             }
         }
     }
 }