Skip to content

Bring power of Linq To DB to Entity Framework Core projects

License

Notifications You must be signed in to change notification settings

linq2db/linq2db.EntityFrameworkCore

Repository files navigation

linq2db.EntityFrameworkCore

linq2db.EntityFrameworkCore is an integration of LINQ To DB with existing EntityFrameworkCore projects. It was inspired by this issue in EF.Core repository.

Build status

Azure DevOps builds Azure DevOps builds Azure DevOps builds

Feeds

  • NuGet NuGet
  • Azure Artifacts MyGet (feed)

Unique features

  • Fast Eager Loading (incomparable faster on massive Include query)
  • Global Query Filters optimization
  • Better SQL optimization
  • Use CTE in LINQ queries
  • MERGE statement support
  • Table hints
  • Full Window functions support
  • Fast BulkCopy of millions records
  • Native SQL operations for updating, deleting, inserting records via LINQ query
  • Temporary Tables support
  • Cross Database/Linked Server queries.
  • Full Text Search extensions
  • A lot of extensions to cover ANSI SQL

How to use

In your code you need to initialize integration using following call:

LinqToDBForEFTools.Initialize();

After that you can just call DbContext and IQueryable extension methods, provided by LINQ To DB.

You can also register additional options (like interceptors) for LinqToDB during EF context registration, here is an example:

var optionsBuilder = new DbContextOptionsBuilder<MyDbContext>();
optionsBuilder.UseSqlite();
optionsBuilder.UseLinqToDB(builder =>
{
    // add custom command interceptor
    builder.AddInterceptor(new MyCommandInterceptor());
    // add a