wydajne pobranie i złączenie danych z dwóch tabel znajdujących się w dwóch różnych bazach ms sql

0

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

0

Chyba najprościej będzie zrobić widok z tym joinem i pobrać dane z niego

2

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ś

0

Dziękuję :)

A da się napisać ekwiwalent tego zapytania(nie wiodoku) w postaci wyrazenia LINQ?

0

zawsze możesz zrobić tez dwa selecty.. oba zapisać do tablic i strwożyć wynik porównując je.

0

@sight:

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1