Ejemplo n.º 1
0
 /// <summary>
 /// コンストラクタ、DB接続環境を指定して初期化する
 /// </summary>
 public Sql(DbEnvironment environment)
 {
     this.Environment = environment;
     this.Children    = new List <IQueryNode>();
     this.AllColumns  = new ColumnMap();
     this.AllTables   = new HashSet <ITable>();
 }
Ejemplo n.º 2
0
 /// <summary>
 /// プロパティに結びつく列定義として初期化する
 /// </summary>
 /// <param name="environment">この列定義がベースとするDB接続環境</param>
 /// <param name="instance">プロパティを直接保持するオブジェクト</param>
 /// <param name="property">プロパティ情報</param>
 /// <param name="table">この列が所属する<see cref="ITable"/></param>
 /// <param name="name">DB上の列名</param>
 /// <param name="dbType">DB上の型</param>
 /// <param name="flags">列定義オプションフラグ</param>
 /// <param name="source">列を生成する元となった式</param>
 public Column(DbEnvironment environment, object instance, PropertyInfo property, ITable table, string name, IDbType dbType, ColumnFlags flags = 0, ElementCode source = null)
 {
     this.Environment = environment;
     this.Instance    = instance;
     this.Property    = property;
     this.Table       = table;
     this.Name        = name;
     this.DbType      = dbType;
     this.Flags       = flags;
     this.Source      = source;
 }
Ejemplo n.º 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;
            }
        }