There are following disadvantages of using LINQ:
- LINQ is not good to write complex queries like SQL.
- If you have done some changes in your query, you have to recompile it and redeploy its dll to the server.
- Small data sets will take longer to build the query than execute.
- When queries are moved from sql to application side, joins are very slow.
- DBML concurrency issues.
- Hard to understand advance queries using Expressions.