Products · Product
LINQ
Raised as a usability problem by 14 people on Hacker News over 12 years (2013–2024), in 14 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
Every issue, all time, most people first
LINQ syntax for custom queries is harder than a for loopUnreviewed
20132026- Hard to work out how LINQ works underneath, can't implement custom IQueryable2024-10-18
- Generated queries are slow and hard to debug, and LINQ code is indecipherable at scale2022-12-28
- Expression trees support few C# features and are hard to use outside LINQ-to-SQL2019-05-22
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 14 complaints
- Hard to work out how LINQ works underneath, can't implement custom IQueryable2024-10-18
- Custom queries mapped to custom types require mind-boggling effort and fights the developer throughout2023-08-14
- Generated queries are slow and hard to debug, and LINQ code is indecipherable at scale2022-12-28
- Must list tables in reverse order to get simple SQL, otherwise gets nested subselects2022-03-13
- Same-looking queries unpredictably run slow depending on how they are written2021-07-10
- Outer join syntax is so unintuitive the commenter avoids it and writes raw SQL2019-10-04
- Expression trees support few C# features and are hard to use outside LINQ-to-SQL2019-05-22
- Figuring out LINQ syntax for custom queries is more painful than a plain for loop2018-10-24
- Left join syntax is convoluted; unclear what the re-declared variable p refers to2017-09-05
- Implementing LINQ to SQL against your own data stores is a painful disaster2017-02-16
- Query expression syntax doesn't fit with the rest of the code and obscures library calls2017-01-11
- Can't figure out how to explicitly load related objects more aggressively, forcing too many database hits2013-10-08
- Hard to figure out which functions match familiar functional map/reduce names2013-07-11
- Code becomes unintuitive and hard to follow as projects grow2013-01-02