Ich muss eine Migration von einer Datenbank (O) zu einem anderen von bestimmten Daten, die nicht in der endgültigen Datenbank (D) ist, eine der Probleme ist, dass die Datenbank Tabellen hat differents Namen in Feldern. Ich habe versucht, die Daten zu tun bekommen, die nicht in D Datenbank mit:Schlechte Leistung mit Ausnahme zu groß in Entity Framework
var dtOrigin = from o in genEntitCeres.X.AsNoTracking() select o;
var dtDestiny = from d in genEntitAgp.X.AsNoTracking() select d;
var rowsMatch = from tOrigin in dtOrigin.AsEnumerable()
join tDestiny in dtDestiny.AsEnumerable()
on new { tOrigin.a, tOrigin.b} equals
new { tDestiny.a, tDestiny.b}
select tOrigin;
var rowsNotMatch = (from tOrigin in dtOrigin.AsEnumerable()
where !rowsMatch.Contains(tOrigin)
select tOrigin);
Als ich versuchte, einen für jeden oder rowsNotMatch.Count() zu tun, es dauert zu lange ...
Meine Lösung war mit SqlQuery von einer Abfrage, die die dismatch-Zeilen abruft (mehr weniger 5 Sekunden, hängt von Siz der Datenabweichung ab). Aber ich würde gerne wissen, ob es einen anderen Weg mit EF gibt, wie meinen Code, aber das wird nicht eingefroren.
Danke Steve Py! – kartGIS