Exemplo n.º 1
0
        /// <summary>
        /// 指定したテーブル列に格納する全ての値を取得する
        /// </summary>
        /// <param name="columnName"></param>
        /// <returns></returns>
        public IEnumerable <Assignment> GetAssignments(UnqualifiedColumnName columnName)
        {
            //  テーブル列名の指定がない場合は、空のAssignmentsを返す
            if (this.Columns == null || this.Columns.Count == 0)
            {
                return(new Assignments());
            }

            int columnIndex = -1;

            for (var i = 0; i < this.Columns.Count; ++i)
            {
                if (this.Columns[i].Name == columnName.Name)
                {
                    columnIndex = i;
                    break;
                }
            }
            if (columnIndex < 0)
            {
                throw new ArgumentOutOfRangeException("columnName",
                                                      "指定したテーブル列名はありません");
            }

            var ret = new List <Assignment>();

            foreach (var values in this.ValuesList)
            {
                var column     = new Column(columnName.Name);
                var assignment = new Assignment(column, values[columnIndex]);
                ret.Add(assignment);
            }
            return(ret);
        }
Exemplo n.º 2
0
 virtual public void Visit(UnqualifiedColumnName columnName)
 {
 }
Exemplo n.º 3
0
 public void Visit(UnqualifiedColumnName columnName)
 {
     _visitor.Visit(columnName);
 }