Union can't be translated to SQL

.net-core-2.2 azure-sql-database entity-framework-core

Question

I'm using EFCore 2.2.3 and I have disabled local evaluation.

I have the following queries

var query1 = companyContext.Companies.Where(c => c.Name == name);
var query2 = companyContext.Companies.Where(c => c.Id == 10);

If i execute them on their own they work correctly.

await query1.ToListAsync();
await query2.ToListAsync();

But if i try to

var result = await query1.Union(query2).ToListAsync();

i get the following error:

InvalidOperationException: Error generated for warning 'Microsoft.EntityFrameworkCore.Query.QueryClientEvaluationWarning: The LINQ expression 'Union({from Company c in value(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[MagliteTest.Database.Company]) where ([c].Id == 10) select [c]})' could not be translated and will be evaluated locally.'. This exception can be suppressed or logged by passing event ID 'RelationalEventId.QueryClientEvaluationWarning' to the 'ConfigureWarnings' method in 'DbContext.OnConfiguring' or 'AddDbContext'.

Is union not supported on entity framework core?

1
2
4/3/2019 12:05:32 PM

Popular Answer

Union / Concat server (SQL) translation is not supported yet (as of EF Core 2.x).

The issue is tracked by #6812 Query: Translate IQueryable.Concat/Union/Intersect/Except/etc. to server.

According to that link, it's scheduled for EF Core 3.0.

5
4/3/2019 12:19:20 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow