private static void AnalyzeLinqExpression(SyntaxNodeAnalysisContext context) { var efContext = new EFUsageContext(context); //Found nothing, don't bother continuing if (!efContext.Build()) { return; } //Check if the lambda is part of an IQueryable call chain. If so, check that it only contains valid //EF LINQ constructs (initializers, entity members, entity navigation properties) var query = context.Node as QueryExpressionSyntax; var lambda = context.Node as LambdaExpressionSyntax; if (query != null) { AnalyzeQueryExpression(context, efContext, query); } else if (lambda != null) { AnalyzeLambdaInLinqExpression(context, efContext, lambda); } }
private static void AnalyzeLinqExpression(SyntaxNodeAnalysisContext context) { var efContext = new EFUsageContext(context); //Found nothing, don't bother continuing if (!efContext.Build()) return; //Check if the lambda is part of an IQueryable call chain. If so, check that it only contains valid //EF LINQ constructs (initializers, entity members, entity navigation properties) var query = context.Node as QueryExpressionSyntax; var lambda = context.Node as LambdaExpressionSyntax; if (query != null) { AnalyzeQueryExpression(context, efContext, query); } else if (lambda != null) { AnalyzeLambdaInLinqExpression(context, efContext, lambda); } }