|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
[C#/LINQ] Query su entities multiple
Ciao,
come dice il titolo ho 2 entities. Devo eseguire una query LINQ e combinare tabelle prendendole da entrambi i database.. Sembra che una query linq non sia in grado di interagire con più di un database alla volta... ho già provato a fare 2 query separate e rifarne un'altra finale sul risultato delle precedenti.. ma stessa cosa. Eppure sono confidente che ci dovrebbe essere un modo. ... |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
tecnicamente con .AsEnumerable() si riesce ad usare più provider nella stessa query =)
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Non ho capito...
vi faccio vedere il codice che ho: Codice:
// Qery on DB SAM0
IQueryable<prj_Projects> query_DB_SAM0_prj =
from tblprj in sDB.View_DbaseProgetti_Progetti
select new prj_Projects()
{
ID = tblprj.ID,
date = DateTime.FromOADate((double)tblprj.Data),
name = tblprj.Codice,
prj_num = tblprj.NumeroComProgetto,
state = tblprj.Stato,
year = tblprj.Anno
};
IQueryable<prj_art> query_DB_SAM0_art =
from tblart in sDB.View_DbaseProgetti_Articoli
select new prj_art()
{
ID_art = tblart.ID,
cat = tblart.CATEGORIA,
classe = tblart.CLASSE,
codice = tblart.CODICE,
gruppo = tblart.GRUPPO,
linea = tblart.LINEA
};
// Final query
IQueryable<AttivitàDiProgetto> query =
from tbldbprj in DB.db_attività_progetti
join tblprj in query_DB_SAM0_prj on tbldbprj.ID_progetto equals tblprj.ID
join tblart in query_DB_SAM0_art on tbldbprj.ID_prodotto equals tblart.ID_art
join tblres in DB.risorse on tbldbprj.ID_risorsa equals tblres.ID_risorsa
join tblrep in DB.reparti on tblres.ID_reparto equals tblrep.ID_reparto
where tblres.ID_risorsa == UserID
select new AttivitàDiProgetto()
{
// showed
ID_Attività_di_progetto = tbldbprj.ID_db_attività_progetti,
prj_descr = tblprj.name,
prod_code = tblart.codice,
data = tbldbprj.Data,
tempo = tbldbprj.Tempo,
reparto = tblrep.descr,
risorsa = tblres.name,
// products
prod_categoria = tblart.cat,
prod_classe = tblart.classe,
prod_gruppo = tblart.gruppo,
prod_linea = tblart.linea,
// projects
prj_date = tblprj.date,
prj_name = tblprj.name,
prj_num = tblprj.prj_num,
prj_state = tblprj.state,
prj_year = tblprj.year
};
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:59.



















