Exemplo n.º 1
0
        static Expression GetMultipleQueryExpression(IBuildContext context, MappingSchema mappingSchema,
                                                     Expression expression, HashSet <ParameterExpression> parameters, out bool isLazy)
        {
            var valueExpression = EagerLoading.GenerateDetailsExpression(context, mappingSchema, expression);

            if (valueExpression == null)
            {
                isLazy = true;
                return(GetMultipleQueryExpressionLazy(context, mappingSchema, expression, parameters));
            }

            valueExpression = EagerLoading.AdjustType(valueExpression, expression.Type, mappingSchema);

            isLazy = false;
            return(valueExpression);
        }
        static Expression GetMultipleQueryExpression(IBuildContext context, MappingSchema mappingSchema,
                                                     Expression expression, HashSet <ParameterExpression> parameters, out bool isLazy)
        {
            if (!Common.Configuration.Linq.AllowMultipleQuery)
            {
                throw new LinqException("Multiple queries are not allowed. Set the 'LinqToDB.Common.Configuration.Linq.AllowMultipleQuery' flag to 'true' to allow multiple queries.");
            }

            var valueExpression = EagerLoading.GenerateDetailsExpression(context, mappingSchema, expression, parameters);

            if (valueExpression == null)
            {
                isLazy = true;
                return(GetMultipleQueryExpressionLazy(context, mappingSchema, expression, parameters));
            }

            valueExpression = EagerLoading.EnsureDestinationType(valueExpression, expression.Type, mappingSchema);

            isLazy = false;
            return(valueExpression);
        }