Ejemplo n.º 1
0
        /// <summary>
        /// 将<see cref="TableColumn"/>对象用模板解析后的内容
        /// </summary>
        /// <param name="template">Mapping类中的字段生成模板</param>
        /// <param name="column">数据表<see cref="TableColumn"/>字段信息</param>
        /// <returns></returns>
        private string ResolvColumn(string template, TableColumn column)
        {
            string result = string.Empty;

            ColumnResolveContext context = new ColumnResolveContext(template, column);

            List <ColumnExpression> list = new List <ColumnExpression>();

            list.Add(new MappingPropertyNameExpression());
            list.Add(new ColumnNameExpression());
            list.Add(new HasColumnTypeExpression());
            list.Add(new IsRequiredExpression());
            list.Add(new IsOptionalExpression());
            list.Add(new IsUnicodeExpression());
            list.Add(new HasPrecisionExpression());
            list.Add(new MaxLengthExpression());
            list.Add(new UniqueKeyGeneratedExpression());

            foreach (var exp in list)
            {
                exp.Interpret(context);
            }

            return(context.Output);
        }
Ejemplo n.º 2
0
 public abstract void Interpret(ColumnResolveContext context);