Poor performance by LINQ to SQL generated query execution plan
Can you please check the attached execution plan from my SQL Server 2016 and suggest me where to improve. 


I don't see any indication that there is likely to be useful optimizations that involve just indexes and statistics.  The entire query isn't included in the plan, but it's a monstrous, frightful thing, and it needs to be rewritten.

The main problem with the query is that it's a TOP 100 query, but is not able to cheaply identify the 100 rows, and then perform the rest of the JOINs.  Instead it creates a 7M row result, sorts it and takes the first 100 rows.

This really needs to be addressed by whoever wrote the query (here the application developer).  You can perhaps help by helping them articulate what the intent of the query is, and suggesting a better way.