Hacker News new | past | comments | ask | show | jobs | submit login

LoadData is not lazy loading. It is explicit loading.

Maybe you should have digged a little further. To lazy load related entities you would have to declare the navigational properties virtual.

https://docs.microsoft.com/en-us/ef/ef6/fundamentals/proxies

    Note that the EF will not create proxies for types where there is nothing for the proxy to do.
    This means that you can also avoid proxies by having types that are sealed and/or 
    have no virtual properties.</quote>
This is a common rookie mistake, unfortunately.

Entity Framework is an absolutely top-tier ORM (if you like ORMs). Because lazy loading is frowned upon by some purists (and DBAs), EF also support controlled/eager loading where nothing happens (lazily) behind the scene.

You can - for instance - in the query use <code>.Include(x => x.RelatedEntity)</code> to load a related entity eagerly without going back to the database server to load the related entity for each row (the so-called N+1 problem).




Like I said, this was 10 years ago. It was not as refined. I understand (from others) that it all works fine now. I don't know, I'm never going back.


When you switched to Ubuntu 10 years ago, I assume you weren't thinking about how refined Ubuntu was 10 years prior to that.

So why would the state of the product as it was 10 years ago matter in your decision to switch back today?


Because Linux is open about everything, but particularly about what works and what doesn't.

Working with Microsoft tech felt like being gaslighted by an abusive partner. Their documentation absolutely did not match what their tech actually did.

I'm really happy working in Go on Linux. Why would I want to switch back?


If the thing which would be intuitively obvious to 90% of people in your audience doesn't work, then your framework is wrong, not the people. It shouldn't take a mountain of documentation to clarify a basic feature.


There can be many "basic features" in a large framework that can't be made more intuitive without making the other features less intuitive.

Just because there are some unintuitive edge cases which you can identify in a technology doesn't mean the technology is "wrong". Pick your favourite technology and I am sure you can find many such unintuitive edge cases if you purposefully look for them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: