当前位置: 首页>>代码示例>>C#>>正文


C# IClassDef.GetTableName方法代码示例

本文整理汇总了C#中IClassDef.GetTableName方法的典型用法代码示例。如果您正苦于以下问题:C# IClassDef.GetTableName方法的具体用法?C# IClassDef.GetTableName怎么用?C# IClassDef.GetTableName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IClassDef的用法示例。


在下文中一共展示了IClassDef.GetTableName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateQueryField

 private static QueryField CreateQueryField(IClassDef classDef, IPropDef propDef)
 {
     Source propSource = new Source(((ClassDef)classDef).GetBaseClassOfSingleTableHierarchy().ClassNameExcludingTypeParameter, classDef.GetTableName(propDef));
     return new QueryField(propDef.PropertyName, propDef.DatabaseFieldName, propSource);
 }
开发者ID:Celtic691,项目名称:habanero,代码行数:5,代码来源:QueryBuilder.cs

示例2: PrepareSource

 /// <summary>
 /// Prepares the Source based on the ClassDef.
 /// </summary>
 /// <param name="classDef"></param>
 /// <param name="source"></param>
 /// <param name="relatedClassDef"></param>
 /// <exception cref="ArgumentNullException"></exception>
 public static void PrepareSource(IClassDef classDef, ref Source source, out IClassDef relatedClassDef)
 {
     if (classDef == null) throw new ArgumentNullException("classDef");
     if (source != null && source.IsPrepared)
     {
         relatedClassDef = source.RelatedClassDef;
         return;
     }
     Source rootSource = new Source(((ClassDef)classDef).GetBaseClassOfSingleTableHierarchy().ClassNameExcludingTypeParameter, classDef.GetTableName());
     CreateInheritanceJoins(classDef, rootSource);
     if (source == null)
     {
         source = rootSource;
         relatedClassDef = classDef;
     }
     else if (source.Name == rootSource.Name)
     {
         //relatedClassDef = null;
         relatedClassDef = classDef;
         source.EntityName = rootSource.EntityName;
     }
     else
     {
         ClassDef currentClassDef = (ClassDef)classDef;
         Source.Join join = new Source.Join(rootSource, source, Source.JoinType.LeftJoin);
         rootSource.Joins.Add(join);
         Source currentSource = rootSource;
         PrepareSourceTree(currentSource, ref currentClassDef);
         relatedClassDef = currentClassDef;
         source = rootSource;
     }
     source.RelatedClassDef = relatedClassDef;
     source.IsPrepared = true;
 }
开发者ID:Celtic691,项目名称:habanero,代码行数:41,代码来源:QueryBuilder.cs

示例3: PrepareDiscriminatorCriteria

 ///<summary>
 ///</summary>
 ///<param name="classDef"></param>
 ///<param name="criteria"></param>
 public static void PrepareDiscriminatorCriteria(IClassDef classDef, Criteria criteria)
 {
     if (criteria == null) return;
     if (criteria.IsComposite())
     {
         PrepareDiscriminatorCriteria(classDef, criteria.LeftCriteria);
         PrepareDiscriminatorCriteria(classDef, criteria.RightCriteria);
     }
     else
     {
         criteria.Field.FieldName = criteria.Field.PropertyName;
         criteria.Field.Source = new Source(((ClassDef)classDef).GetBaseClassOfSingleTableHierarchy().ClassNameExcludingTypeParameter,
                                            classDef.GetTableName());
     }
 }
开发者ID:Celtic691,项目名称:habanero,代码行数:19,代码来源:QueryBuilder.cs

示例4: AddDiscriminatorFields

        private static void AddDiscriminatorFields(ISelectQuery selectQuery, IClassDef classDef, ref Criteria criteria)
        {
            ClassDefCol classDefsToSearch = ((ClassDef)classDef).AllChildren;
            classDefsToSearch.Add((ClassDef) classDef);
            List<Criteria> discriminatorCriteriaList = new List<Criteria>();
            string discriminator = null;
            foreach (ClassDef thisClassDef in classDefsToSearch)
            {
                if (!thisClassDef.IsUsingSingleTableInheritance()) continue;
                ISuperClassDef superClassDef = thisClassDef.SuperClassDef;
                discriminator = superClassDef.Discriminator;
                if (String.IsNullOrEmpty(discriminator)) continue;
                if (!selectQuery.Fields.ContainsKey(discriminator))
                {
                    selectQuery.Fields.Add(discriminator,
                                           new QueryField(discriminator, discriminator, new Source(((ClassDef)classDef).GetBaseClassOfSingleTableHierarchy().ClassNameExcludingTypeParameter, classDef.GetTableName())));
                }
                discriminatorCriteriaList.Add(new Criteria(discriminator, Criteria.ComparisonOp.Equals, thisClassDef.ClassName));
            }

            if (discriminatorCriteriaList.Count > 0)
            {
                if (!((ClassDef)classDef).IsUsingSingleTableInheritance())
                    criteria = new Criteria(discriminator, Criteria.ComparisonOp.Is, "null");
                foreach (Criteria discCriteria in discriminatorCriteriaList)
                {
                    if (criteria == null) { criteria = discCriteria; continue; }
                    criteria = new Criteria(criteria, Criteria.LogicalOp.Or, discCriteria); 
                }
            }
        }
开发者ID:Celtic691,项目名称:habanero,代码行数:31,代码来源:QueryBuilder.cs


注:本文中的IClassDef.GetTableName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。