Ho una stored procedure che restituisce più set di risultati. Ognuno è un tipo complesso. Il primo set di risultati conterrebbe un elenco di elementi dello stesso tipo complesso del secondo set di risultati, ecc. Questi non si correlano in modo pulito a entità specifiche. Ad esempio, le mie classi POCO dovrebbero essere
public partial class Message
{
public string Subject { get; set; }
...
public List<Recipient> Recipients { get; set; }
}
public partial class Recipient
{
public string Email { get; set; }
...
}
Secondo la documentazione, "I tipi di entità e complessi possono ora essere annidati all'interno delle classi" per EF 6. Tuttavia, non riesco a capire come creare un ELENCO di un tipo complesso all'interno del mio primo tipo complesso. Quando modifico il mio FunctionImport e utilizzo Ottieni informazioni colonna, restituisce solo il primo tipo complesso. Quando provo Crea nuovo tipo complesso, restituisce sempre solo il primo tipo complesso. Infine, ho creato tutti i tipi complessi di cui ho bisogno manualmente e ho provato ad aggiungere il tipo di complesso Destinatario al tipo di messaggio Message, consentirà solo di aggiungere un singolo Destinatario. C'è qualcosa di speciale che devi fare per nidificare tipi complessi? Ci sono degli esempi là fuori? Non sono riuscito a trovare nulla che riguardasse questo codice su CodePlex, ma potrei semplicemente mancarlo.
Grazie in anticipo per tutto il tuo aiuto!
Secondo me, la nidificazione significa mettere una dichiarazione di classe in un'altra:
public class A {
public class B { }
}
Nelle precedenti versioni di EF, la classe B non poteva essere mappata né come entità o tipo complesso mentre in EF6 può essere. È l'unico significato di nidificazione relativo a questa funzione.
Quando si giunge alla tua domanda, non puoi ancora mappare l'elenco dei tipi complessi. Se si desidera un elenco è necessario utilizzare le entità (sia come genitori che come figli).