6
lorentz
282d

I'm still not over how LINQ is defined as a thin wrapper over both IQueryable (which can be efficiently queried) and IEnumerable (which can only be iterated), but IQueryable extends IEnumerable, so if you execute one unserializable operation anywhere in a query issued to your database it'll merrily pump whatever temporary collection happens to reside on the boundary through the C# program to execute that call on each row and process the rest as an IEnumerable.

Comments
  • 1
    Just came here to fact check my gut feel that a post with so many I<ActualName> interfaces was going to be about C#
  • 0
    @webketje LINQ is the first give away
  • 2
    ERMs are fuck, in general. Always overcomplicated and you run into specific database problems depending on your data source that you either need to solve via hacks (see: linq, oracle, and .First) or by resorting back to raw query strings (see: largely defeats the purpose)

    All people typically need is an object mapper 🙄🙄

    Not to mention the fact that Linq to this day still sucks cock at mass-update/deletes
  • 0
    @iSwimInTheC Linq isn't meant for updates, but I think EF has a solution that can somehow accept a Linq filter and bulk-update in SQL.
  • 0
    but yeah, idiomatic Linq has very backwards performance characteristics that make me think that they cared more about the looks than the use case during design.
Add Comment