Perhaps six additional classes:
IEnumerable<string> - the result of your requestIEnumerable<Class1> - left collectionIEnumerable<Class2> - right collectionFunc<Class1, int> - the left side of the union expressionFunc<Class2, int> - the right side of the union expressionFunc<Class1, Class2, string> - projection
It is also possible that it counts the Enumerable class, as the request translates into calls to the static extension method.
In any case, code analysis does not seem to ignore the transition classes used by Linq (should it be debatable or not). My advice is either to ignore it (perhaps by manually counting the relationship and noting the difference), or to find the best analysis tool.
Another question: can it increase your connection as a whole? I suspect that some of these classes are used throughout the application, so it cannot significantly affect the overall connection.
source share