ServiceStack.OrmLite
Entity Framework 6
Our great sponsors
ServiceStack.OrmLite | Entity Framework 6 | |
---|---|---|
2 | 2 | |
1,551 | 1,407 | |
- | 0.3% | |
4.5 | 8.3 | |
over 1 year ago | 3 days ago | |
C# | C# | |
GNU General Public License v3.0 or later | MIT License |
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.
ServiceStack.OrmLite
-
Diatribe: After 10+ years of EF/EF Core, I can no longer justify using it.
I think what you are looking for could be https://github.com/ServiceStack/ServiceStack.OrmLite
-
Migrating Facebook to MySQL 8.0
[ServiceStack OrmLite][1] does just that, all our development is done locally using SQLite but then deployments use MySQL. We do fall into the 'program is simple enough' category though.
[1]: https://github.com/ServiceStack/ServiceStack.OrmLite
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)
What are some alternatives?
Dapper - Dapper - a simple object mapper for .Net [Moved to: https://github.com/DapperLib/Dapper]
PetaPoco - Official PetaPoco, A tiny ORM-ish thing for your POCO's
Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
MongoDB Repository pattern implementation
NHibernate - NHibernate Object Relational Mapper
LINQ to DB - Linq to database provider.
MockQueryable - Mocking Entity Framework Core operations such ToListAsync, FirstOrDefaultAsync etc
Dapper.MicroCRUD - CRUD Extensions for Dapper.Net
FluentMigrator - Fluent migrations framework for .NET