本文整理汇总了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);
}
示例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;
}
示例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());
}
}
示例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);
}
}
}