public static RelationshipBuilder <TParent> HasMany <TParent, TChild>(this RelationshipBuilder <TParent> relationshipBuilder, Expression <Func <TParent, LazyList <TChild> > > portalExpression, Func <TParent, int> childIdSelector)
     where TParent : ModelBase
     where TChild : ModelBase
 {
     return(relationshipBuilder.For(portalExpression.GetMemberName())
            .LazyLoad((db, parent) => db.Query <TChild>().Where(c => c.Id == childIdSelector(parent)).ToList()));
 }
 public static RelationshipBuilder <TParent> HasOne <TParent, TChild>(this RelationshipBuilder <TParent> relationshipBuilder, Expression <Func <TParent, LazyLoaded <TChild> > > portalExpression, Func <TParent, int> childIdSelector)
     where TParent : ModelBase
     where TChild : ModelBase
 {
     return(relationshipBuilder.For(portalExpression.GetMemberName())
            .LazyLoad(
                query: (db, parent) => db.Query <TChild>().SingleOrDefault(c => c.Id == childIdSelector(parent)),
                condition: parent => childIdSelector(parent) > 0
                ));
 }