///////////////////////////////////////////////////////////////
// This is generated code.
//////////////////////////////////////////////////////////////
// Code is generated using LLBLGen Pro version: 4.2
// Code is generated on:
// Code is generated using templates: SD.TemplateBindings.SharedTemplates
// Templates vendor: Solutions Design.
//////////////////////////////////////////////////////////////
using System;
using Datalib;
using Datalib.FactoryClasses;
using Datalib.HelperClasses;
using SD.LLBLGen.Pro.ORMSupportClasses;
namespace Datalib.RelationClasses
{
/// Class to define dynamic relations for queries.
/// Dynamic relations are only supported in ansi joins so if you're using Oracle on 8i, you can't use Dynamic Relations.
[Serializable]
public class DynamicRelation : DynamicRelationBase
{
/// Initializes a new instance of the class.
/// The left operand, which can only be a derived table definition. No join will take place.
/// If a DynamicRelation is created with this CTor, it has to be the only one. It will be ignored if there are more
/// relations in the relation collection.
public DynamicRelation(DerivedTableDefinition leftOperand)
{
this.InitClass(JoinHint.None, string.Empty, string.Empty, null, leftOperand, null);
}
/// Initializes a new instance of the class.
/// The left operand.
/// Type of the join. If None is specified, Inner is assumed.
/// The right operand.
/// The on clause for the join.
public DynamicRelation(DerivedTableDefinition leftOperand, JoinHint joinType, DerivedTableDefinition rightOperand, IPredicate onClause)
{
this.InitClass(joinType, string.Empty, string.Empty, onClause, leftOperand, rightOperand);
}
/// Initializes a new instance of the class.
/// The left operand which is a field.
/// Type of the join. If None is specified, Inner is assumed.
/// The right operand which is a derived table.
/// The alias of the left operand. If you don't want to / need to alias the left operand (only alias if you have to), specify string.Empty.
/// The on clause for the join.
public DynamicRelation(IEntityFieldCore leftOperand, JoinHint joinType, DerivedTableDefinition rightOperand, string aliasLeftOperand, IPredicate onClause)
{
this.InitClass(joinType, aliasLeftOperand, string.Empty, onClause, leftOperand, rightOperand);
}
/// Initializes a new instance of the class.
/// The left operand.
/// Type of the join. If None is specified, Inner is assumed.
/// The right operand which is an entity type.
/// The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty.
/// The on clause for the join.
public DynamicRelation(DerivedTableDefinition leftOperand, JoinHint joinType, Datalib.EntityType rightOperand, string aliasRightOperand, IPredicate onClause)
{
this.InitClass(joinType, string.Empty, aliasRightOperand, onClause, leftOperand, GeneralEntityFactory.Create(rightOperand));
}
/// Initializes a new instance of the class.
/// The left operand, which is an entity.
/// Type of the join. If None is specified, Inner is assumed.
/// The right operand which is an entity.
/// The alias of the left operand. If you don't want to / need to alias the left operand (only alias if you have to), specify string.Empty.
/// The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty.
/// The on clause for the join.
public DynamicRelation(Datalib.EntityType leftOperand, JoinHint joinType, Datalib.EntityType rightOperand, string aliasLeftOperand, string aliasRightOperand, IPredicate onClause)
{
this.InitClass(joinType, aliasLeftOperand, aliasRightOperand, onClause, GeneralEntityFactory.Create(leftOperand), GeneralEntityFactory.Create(rightOperand));
}
/// Initializes a new instance of the class.
/// The left operand which is a field.
/// Type of the join. If None is specified, Inner is assumed.
/// The right operand which is an entity.
/// The alias of the left operand. If you don't want to / need to alias the left operand (only alias if you have to), specify string.Empty.
/// The alias of the right operand. If you don't want to / need to alias the right operand (only alias if you have to), specify string.Empty.
/// The on clause for the join.
public DynamicRelation(IEntityFieldCore leftOperand, JoinHint joinType, Datalib.EntityType rightOperand, string aliasLeftOperand, string aliasRightOperand, IPredicate onClause)
{
this.InitClass(joinType, aliasLeftOperand, aliasRightOperand, onClause, leftOperand, GeneralEntityFactory.Create(rightOperand));
}
/// Gets the inheritance provider for inheritance info retrieval for entity operands
/// The inheritance info provider
protected override IInheritanceInfoProvider GetInheritanceProvider()
{
return InheritanceInfoProviderSingleton.GetInstance();
}
}
}