7 votes2 comments · [Closed] Entity Framework Core Feature Suggestions · Flag idea as inappropriate… · Admin →Christopher Grace supported this idea ·Christopher Grace commented
I cannot believe this only has 11 votes! The use of LEFT OUTER JOINs instead of intended INNER JOINs seems to expand the generated SQL exponentially, and slow performance to a crawl.
In the simple example above, it's not that bad. But more complex queries bring in many tables with nullable foreign keys. Join/Bridge tables also introduce LEFT OUTER JOINs. Oddly enough, sometimes the do not.
When performance is an issue, and developers see the SQL generated, they invariably abandon LINQ for Stored Procedures and TSQL. At lease that has been my experience 100% of the time.
I LOVE EF, and stubborly refused to give up. I burned days of my own time trying to understand how to control the JOINs. But I am plumb out of time and have to give up.
Please, please add a JoinRequired, IncludeRequired, or any other means to let the developer choose the JOIN.