Beispiel #1
0
        public virtual IEntityReader <IdType, EntityType> WithChildForParentId
            (IEntityReader childReader
            , IdType id
            , string childJoinFieldName
            , Action <IList <EntityType>, IList <object> > setOnParentVisitor
            , bool withJoins = true)
        {
            childReader.ClearAllQueries();

            childReader
            .WithAlias(TableAlias + "_" + childReader.TableAlias)
            .Where(new QueryElement()
            {
                TableAlias = childReader.TableAlias,
                FieldName  = childJoinFieldName,
                Operator   = Operator.Equals,
                Value      = id
            });

            if (withJoins)
            {
                childReader.WithAllJoins();
            }

            return(WithChild(childReader, childJoinFieldName, setOnParentVisitor));
        }
Beispiel #2
0
        public virtual IEntityReader <IdType, EntityType> WithChildForExistingId
            (IEntityReader childReader
            , string paramName
            , string childJoinFieldName
            , Action <IList <EntityType>, IList <object> > setOnParentVisitor)
        {
            childReader.ClearAllQueries();

            childReader
            .WithAlias(TableAlias + "_" + childReader.TableAlias)
            .Where(new QueryElement()
            {
                TableAlias = childReader.TableAlias,
                FieldName  = childJoinFieldName,
                Operator   = Operator.Equals,
                ParamNames = new string[] { paramName }
            });

            childReader.WithAllJoins();

            return(WithChild(childReader, childJoinFieldName, setOnParentVisitor));
        }