コード例 #1
0
ファイル: SqlFactory.cs プロジェクト: yufengfei/Aoite
        /// <summary>
        /// 创建指定视图类型的字段列表。
        /// </summary>
        /// <param name="entityMapper">实体的类型映射器。</param>
        /// <param name="viewMapper">视图的类型映射器。</param>
        /// <returns>包含在 <paramref name="entityMapper"/> 的 <paramref name="viewMapper"/> 属性集合,并对每个属性进行转义。</returns>
        public virtual string CreateFields(TypeMapper entityMapper, TypeMapper viewMapper)
        {
            if (entityMapper == null)
            {
                throw new ArgumentNullException(nameof(entityMapper));
            }
            if (viewMapper == null)
            {
                throw new ArgumentNullException(nameof(viewMapper));
            }

            string fields = "*";

            if (entityMapper != viewMapper)
            {
                List <string> fieldList = new List <string>();
                foreach (var viewProperty in viewMapper.Properties)
                {
                    if (viewProperty.IsIgnore)
                    {
                        continue;
                    }
                    if (!entityMapper.Contains(viewProperty.Name))
                    {
                        continue;
                    }
                    fieldList.Add(this.EscapeName(viewProperty.Name, NamePoint.Field));
                }
                fields = fieldList.ToArray().Join();
            }
            return(fields);
        }
コード例 #2
0
ファイル: SqlFactory.cs プロジェクト: glorylee/Aoite
        /// <summary>
        /// 创建指定视图类型的字段列表。
        /// </summary>
        /// <param name="entityMapper">实体的类型映射器。</param>
        /// <param name="viewMapper">视图的类型映射器。</param>
        /// <returns>包含在 <paramref name="entityMapper"/> 的 <paramref name="viewMapper"/> 属性集合,并对每个属性进行转义。</returns>
        public virtual string CreateFields(TypeMapper entityMapper, TypeMapper viewMapper)
        {
            if(entityMapper == null) throw new ArgumentNullException(nameof(entityMapper));
            if(viewMapper == null) throw new ArgumentNullException(nameof(viewMapper));

            string fields = "*";
            if(entityMapper != viewMapper)
            {
                List<string> fieldList = new List<string>();
                foreach(var viewProperty in viewMapper.Properties)
                {
                    if(viewProperty.IsIgnore) continue;
                    if(!entityMapper.Contains(viewProperty.Name)) continue;
                    fieldList.Add(this.EscapeName(viewProperty.Name, NamePoint.Field));
                }
                fields = fieldList.ToArray().Join();
            }
            return fields;
        }