32 messaggi dal 30 gennaio 2014
Buonasera.
Sapete dirmi se esiste la possibilità di tradurre una query come quella che segue:

Select
    p.*, coalesce ((a.cognome + ' ' + a.nome), c.insegna) as assegnatario
From
    T_PICS_ASSEGNAZIONI p
    left join T_associati a on p.assegnatario = a.idassociati and p.tipoass = 1
    left join T_CLUBS c on p.ASSEGNATARIO = c.idclub and p.tipoass = 2


in fluent API per entity framework core?
Grazie per l'aiuto..

Valter
1.508 messaggi dal 27 dicembre 2005
var query = from p in context.T_PICS_ASSEGNAZIONI
join a in context.T_associati
on new { Assegnatario = p.assegnatario, TipoAss = 1 }
equals new { Assegnatario = a.idassociati, TipoAss = p.tipoass } into pa
from a in pa.DefaultIfEmpty()
join c in context.T_CLUBS
on new { Assegnatario = p.assegnatario, TipoAss = 2 }
equals new { Assegnatario = c.idclub, TipoAss = p.tipoass } into pc
from c in pc.DefaultIfEmpty()
select new
{
p, // Include tutte le colonne di `p`
Assegnatario = a != null ? (a.cognome + " " + a.nome) : c.insegna
};

var result = query.ToList();


Da testare ovviamente.
32 messaggi dal 30 gennaio 2014
Ti ringrazio @totti240282
Pensavo a qualcosa di meno macchinoso e cervellotico da scrivere, tanto vale utilizzare il sistema indicato qui https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew#raw-sql-queries-for-unmapped-types mantenendo la query originale (quanto meno ho meno difficoltà nel gestirla io)...

Valter

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.