EntityFramework-Plus
Entity Framework 6
Our great sponsors
EntityFramework-Plus | Entity Framework 6 | |
---|---|---|
4 | 2 | |
2,165 | 1,403 | |
0.6% | 0.0% | |
4.1 | 8.3 | |
8 days ago | 1 day ago | |
C# | C# | |
MIT License | 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.
EntityFramework-Plus
- EF Core is good for most things.
-
How to avoid using repository pattern with entity framework?
This also assumes you're not using something like [EFPlus](https://github.com/zzzprojects/EntityFramework-Plus) where the following is valid:
-
Plans for Entity Framework Core 6.0 revealed as Microsoft admits it is unlikely to match Dapper for performance
I think you're mixing Entity Framework vs LINQ. LINQ deals with querying only. Nothing to do with updates. Having said that, LINQ is extensible. You can do it with additional extension methods: https://github.com/zzzprojects/EntityFramework-Plus
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?
PetaPoco - Official PetaPoco, A tiny ORM-ish thing for your POCO's
EFCore.BulkExtensions - Entity Framework EF Core efcore Bulk Batch Extensions with BulkCopy in .Net for Insert Update Delete Read (CRUD), Truncate and SaveChanges operations on SQL Server, PostgreSQL, MySQL, SQLite
Dapper - Dapper - a simple object mapper for .Net [Moved to: https://github.com/DapperLib/Dapper]
NHibernate - NHibernate Object Relational Mapper
ServiceStack.OrmLite - Fast, Simple, Typed ORM for .NET
MockQueryable - Mocking Entity Framework Core operations such ToListAsync, FirstOrDefaultAsync etc
LINQ to DB - Linq to database provider.
FluentMigrator - Fluent migrations framework for .NET
RepoDb - A hybrid ORM library for .NET.
Entity Framework - EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
NPoco - Simple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPoco