Beispiel #1
0
        //生成复合集合成员虚拟数据源连接。
        private ISourceFragment GenerateVirtualCompositeJoinForCollectionMember(GenerateContext context, DbCollectionMemberExpression content, SelectFragment body, bool iscomposite)
        {
            var relation = CreateSource(context, content.RelationSet);

            body.AddSource(relation);
            relation.Join = EJoinType.InnerJoin;
            var pairs = iscomposite ? content.CompositePairs : content.Pairs;

            relation.Condition = pairs.Select(a => body.CreateExpression(a)).Merge();
            return(relation);
        }