308 messaggi dal 13 luglio 2005
Salve a tutti,
ho un annoso problema che ho sempre scavalcato con trucchi ed espedienti, ma vorrei chiedervi se esiste un modo più corretto di risolvere questo problema.
Se io devo effettuare una query linq con uno o più join di tabelle di database diversi (o addirittura di database di server diversi), mi viene segnalato un errore di compilazione. Mi spiego meglio con un esempio. Se ho una query in SQL:
SELECT *
FROM DB1.dbo.Tabella1 AS T1 JOIN DB2.dbo.Tabella2 AS T2 ON T1.ID = T2.ID

e volessi convertirla in linq, non posso farlo. Sono costretto a fare una query con la Tabella1 salvare i risultati in una variabile List<Int> e poi fare un join tra la Tabella2 e la variabile List<Int>.

Peggio ancora se le variabili in join sono due o più, cioè per esempio:
SELECT *
FROM DB1.dbo.Tabella1 AS T1 JOIN DB2.dbo.Tabella2 AS T2 ON T1.ID = T2.ID AND T1.ID1 = T2.ID1

In questo secondo caso non trovo soluzione ...!

Qualcuno conosce un metodo per risolvere questo problema?

Vi ringrazio e vi saluto.

Umb
256 messaggi dal 30 novembre 2004
Prova facendo:

var query = db.Database.SqlQuery<UnionQuery>("select a.Tag,b.BankName from MyDb.dbo.Areas a, Test.dbo.Bank b where a.Id = b.Id");
                foreach (var item in query)
                {
                    Console.WriteLine("{0} - {1}", item.Tag, item.BankName);
                }


Cmq cercando: linq on two different schema esce qualche buono spunto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.