Exemple #1
0
        /// <summary>
        /// 2つの列定義マップの共有を作成する
        /// </summary>
        /// <param name="a">列定義マップ a</param>
        /// <param name="b">列定義マップ b</param>
        /// <returns>列定義マップ</returns>
        public static ColumnMap Union(ColumnMap a, ColumnMap b)
        {
            var result = new ColumnMap();

            for (int i = 0, n = a.Count; i < n; i++)
            {
                result.Include(a[i]);
            }
            for (int i = 0, n = b.Count; i < n; i++)
            {
                result.Include(b[i]);
            }
            return(result);
        }
Exemple #2
0
        /// <summary>
        /// エイリアス用にクローンを作成する
        /// </summary>
        /// <returns>クローン</returns>
        public TableDef <TColumns> AliasedClone()
        {
            var       c = this.MemberwiseClone() as TableDef <TColumns>;
            ColumnMap map;
            TColumns  columns;

            c.ColumnMap = map = new ColumnMap();
            c.Columns   = columns = TypeWiseCache <TColumns> .Creator();

            foreach (var column in this.ColumnMap)
            {
                map.Add(column.Clone(columns, c));
            }
            return(c);
        }
Exemple #3
0
        /// <summary>
        /// コンストラクタ、DB接続環境とテーブル名を指定して初期化する
        /// </summary>
        /// <param name="environment">DB接続環境</param>
        /// <param name="name">DB上のテーブル名</param>
        public TableDef(DbEnvironment environment, string name)
        {
            this.Environment = environment;
            this.Name        = name;
            this.ColumnMap   = new ColumnMap();

            // プロパティと列をバインドする
            Mediator.Table = this;
            try {
                this.Columns = TypeWiseCache <TColumns> .Creator();

                // 全プロパティを一度呼び出す事でバインドされる
                AllColumnsBinder(this.Columns);
            } finally {
                Mediator.Table = null;
            }
        }
Exemple #4
0
 public Visitor(ElementCode exprInProgress, ColumnMap colDefDic = null)
 {
     _ExprInProgress = exprInProgress;
     _ColDefDic      = colDefDic;
 }