Cześć. Mam 2 bazy Baza1 i Baza2 a w nich tabele Baza1.Tabela1 i Baza2.Tabela2. Potrzebuję zrobić wydajne złączenie w LINQ, coś co da mi efekt jak
select * from Baza1.Tabela1 T1
join Baza2.Tabela2 T2 on T2.ItemId = T1.id
where T1.ItemIsActive=1
Cześć. Mam 2 bazy Baza1 i Baza2 a w nich tabele Baza1.Tabela1 i Baza2.Tabela2. Potrzebuję zrobić wydajne złączenie w LINQ, coś co da mi efekt jak
select * from Baza1.Tabela1 T1
join Baza2.Tabela2 T2 on T2.ItemId = T1.id
where T1.ItemIsActive=1
Chyba najprościej będzie zrobić widok z tym joinem i pobrać dane z niego
Odpowiadaj w postach!
A w takim widoku mogę się odwolywać do tabeli z innej bazy?
Na bazieA puszczasz:
CREATE VIEW dbo.widokztabelna2bazach
as
select * from Baza1.Tabela1 T1
join Baza2.Tabela2 T2 on T2.ItemId = T1.id
where T1.ItemIsActive=1
go
i z poziomu programu pobierasz dane z dbo.widokztabelna2bazach
z bazy baza1 i masz to co chciałeś
Dziękuję :)
A da się napisać ekwiwalent tego zapytania(nie wiodoku) w postaci wyrazenia LINQ?
zawsze możesz zrobić tez dwa selecty.. oba zapisać do tablic i strwożyć wynik porównując je.
nie zdziwiłbym się gdyby jacyś magicy maksymalnego "uniezależniania się od bazy" czy robiący repo obsługujące tylko pobieranie wszystkiego czynili takie cuda :D
hej
dlaczego od razu uniezależniania się od bazy.. wszystko zależy od ilości danych, potrzeb, zasobów i częstotliwości pobierania danych. może nie trzeba w rezultacie pobierać obu tabel.. a wystarczy pobrać jedne dane z jednej tabeli i LINQ pobrać z drugiej