Hi,
This is my ERD:
Role<--(Inherited by RoleId)---Department
Role<--(Inherited by RoleId)---Company
Role----( M:1 on OwnerCompanyId)--->Role
Enquiry--( M:1 on CustomerDepartmentId)--->Department
I have used the following relationships and predicate:
predicateExpression.AddWithOr(CompanyFields.Title.SetObjectAlias("OwnerCompany") == fieldValue);
FilterToUse.Relations.Add(EnquiryEntity.Relations.DepartmentEntityUsingCustomerDepartmentId, "CustomerDepartment", JoinHint.Left);
FilterToUse.Relations.Add(DepartmentEntity.Relations.CompanyEntityUsingOwnerCompanyId, "OwnerCompany", JoinHint.Left);
But I faced the following error:
Relation at index 2 doesn't contain an entity already added to the FROM clause. Bad alias?
on :
e.DbCount = adapter.GetDbCount(e.ContainedCollection, FilterToUse);
Thank you in advance for your helping.
LLBLGenPro version: 4.2
SD.LLBLGen.Pro.ORMSupportClasses.dll: 4.2.15.410
Template group using: adapter
.Net framework : 4.5
MSSQLSERVER: 2012
Stack trace:
at SD.LLBLGen.Pro.ORMSupportClasses.RelationCollection.PreprocessRelations()
at SD.LLBLGen.Pro.ORMSupportClasses.RelationCollection.ToQueryTextInternal(Boolean ansiJoins, String& nonAnsiWhereClause, String nonAnsiRootTableReference, String nonAnsiFieldSuffix)
at SD.LLBLGen.Pro.ORMSupportClasses.RelationCollection.ToQueryText()
at SD.LLBLGen.Pro.DQE.SqlServer.DynamicQueryEngine.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, IRetrievalQuery query, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause, Boolean relationsSpecified, Boolean sortClausesSpecified)
at SD.LLBLGen.Pro.ORMSupportClasses.DynamicQueryEngineBase.CreateSelectDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, DbConnection connectionToUse, IPredicate selectFilter, Int64 maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause)
at SD.LLBLGen.Pro.ORMSupportClasses.DynamicQueryEngineBase.CreateRowCountDQ(IEntityFieldCore[] selectList, IFieldPersistenceInfo[] fieldsPersistenceInfo, DbConnection connectionToUse, IPredicate selectFilter, IRelationCollection relationsToWalk, Boolean allowDuplicates, IGroupByCollection groupByClause)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterCore.CreateRowCountDQ(QueryParameters parameters)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterCore.GetDbCount(IEntityFields2 fields, IRelationPredicateBucket filter, IGroupByCollection groupByClause, Boolean allowDuplicates)
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.<>c__DisplayClassef.<GetDbCount>b__ee()
at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterCore.GetDbCount(IEntityCollection2 collection, IRelationPredicateBucket filter, IGroupByCollection groupByClause)
at Collabora.ServiceManager.SharePoint.Layouts.ServiceManager.ManageEnquiries.EnquiryDsPerformGetDbCount(Object sender, PerformGetDbCountEventArgs2 e)
at SD.LLBLGen.Pro.ORMSupportClasses.LLBLGenProDataSourceView2.ExecuteSelectEntityCollection(Int32 pageSize, Int32 pageNumber, DataSourceSelectArguments arguments)
at SD.LLBLGen.Pro.ORMSupportClasses.LLBLGenProDataSourceView2.ExecuteSelect(DataSourceSelectArguments arguments)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
at System.Web.UI.WebControls.GridView.OnPreRender(EventArgs e)
at Collabora.ServiceManager.SharePoint.Controls.GridViewCustom.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)