//////////////////////////////////////////////////////////////
// This code was generated by LLBLGen Pro 5.7.
//////////////////////////////////////////////////////////////
// Code is generated on:
// Code is generated using templates: SD.TemplateBindings.SharedTemplates
// Templates vendor: Solutions Design.
//////////////////////////////////////////////////////////////
using System;
using Datalib.FactoryClasses;
using Datalib.HelperClasses;
using SD.LLBLGen.Pro.ORMSupportClasses;
namespace Datalib.RelationClasses
{
/// Class to define dynamic relations for queries.
[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));
}
///
protected override IInheritanceInfoProvider GetInheritanceProvider() { return ModelInfoProviderSingleton.GetInstance(); }
}
}