Entity Framework 6
NHibernate
Our great sponsors
Entity Framework 6 | NHibernate | |
---|---|---|
2 | 4 | |
1,407 | 2,102 | |
0.3% | 0.4% | |
8.3 | 8.4 | |
6 days ago | 4 days ago | |
C# | C# | |
MIT License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Entity Framework 6
-
ASP.NET Performance optimization question
Additionally, an individual context will also cache the actual sql being performed and their docs go over the caching it does here regarding that.
-
Ask HN: What tangible benefits did you get from spending time on HN?
Every so often, posts from Bruce Dawson's blog get posted here - one such post was about using Event Tracing for Windows to diagnose an issue with an NTFS lock being held causing 63 cores to idle while 1 does all the work.
https://randomascii.wordpress.com/2019/10/20/63-cores-blocke...
A few months later, some other people in my team were struggling to diagnose an issue in production where a legacy webapp was struggling to scale up and fully use all 64 cores of the server we needed it to run on. I stepped in to help and remembered that post I'd seen on HN. We used ETW (through Windows Performance Recorder and Windows Performance Analyzer) to profile our app and I looked into the Wait Analysis. Turns out that Entity Framework 6 uses a ReaderWriterLockSlim to guard a cache, and that particular lock performs extremely poorly under heavy contention. Heavy in our case meant that for a single page build of one of this app's "hot path" pages, this lock would be taken a few hundred thousand times. We weren't the first to discover this:
https://github.com/dotnet/ef6/issues/1500
What some other people in my team were struggling with for about two weeks was resolved in a single day thanks to me goofing off and reading HN. (We ultimately used a fork of EF6 that didn't suffer from this issue to solve our problem)
NHibernate
-
help with NHibernate on .Net 6
Have you tried the NH homepage?
- How to use performant Guid as primary keys in databases. UUID Version 7 to the rescue!
- What's the deal with nHibernate on .NET 6?
-
Is there a widely used hibernate-like ORM framework for .net core?
NHibernate works with .NET core: https://github.com/nhibernate/nhibernate-core
What are some alternatives?
PetaPoco - Official PetaPoco, A tiny ORM-ish thing for your POCO's
Dapper - Dapper - a simple object mapper for .Net [Moved to: https://github.com/DapperLib/Dapper]
Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
ServiceStack.OrmLite - Fast, Simple, Typed ORM for .NET
LINQ to DB - Linq to database provider.
MockQueryable - Mocking Entity Framework Core operations such ToListAsync, FirstOrDefaultAsync etc
Fluent NHibernate - Fluent NHibernate!
NPoco - Simple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPoco
FluentMigrator - Fluent migrations framework for .NET