https://github.com/kerinshelton/entityframeworkcore.sqlserver.extensions.contains
Superfast way to join a SQL table with an object list using EntityFrameworkCore
https://github.com/kerinshelton/entityframeworkcore.sqlserver.extensions.contains
contains entity-framework-core join list sql-server
Last synced: 11 months ago
JSON representation
Superfast way to join a SQL table with an object list using EntityFrameworkCore
- Host: GitHub
- URL: https://github.com/kerinshelton/entityframeworkcore.sqlserver.extensions.contains
- Owner: kerinshelton
- Created: 2019-04-18T01:55:16.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-18T01:56:32.000Z (almost 7 years ago)
- Last Synced: 2025-03-13T20:22:33.084Z (11 months ago)
- Topics: contains, entity-framework-core, join, list, sql-server
- Language: C#
- Size: 5.86 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EntityFrameworkCore.SqlServer.Extensions.Contains
## Installing via NuGet
```powershell
Install-Package EntityFrameworkCore.SqlServer.Extensions.Contains
```
## Example
Create a search model with 2 params
```csharp
public class CarSearch
{
public int Id { get; set; }
public string Model { get; set; }
}
var carSearchObjects = new List();
```
Your join would resemble something like this, which cant be done as the join would be between an in memory object list and a sql server table:
```csharp
from c in context.Cars
join o in carSearchObjects
on new { Id = c.Id, Model = c.Model } equals new { Id = o.Id, Model = o.Model }
select m;
```
## Usage
```csharp
using EntityFrameworkCore.SqlServer.Extensions.Contains;
using (var context = new DbContext())
{
var carSearch = context.Cars.Take(800).Select(x => new { x.Model, x.Id }).ToList();
var filtered = context.Cars.Contains(carSearch, "Cars", false, c => c.Model, c => c.Id );
Console.WriteLine(filtered.Count());
}
```