Sto tentando di utilizzare le proprietà di navigazione per la prima volta al posto di join. Non riesco a far funzionare una situazione dove normalmente si farebbe con un join esterno sinistro. Nel seguente esempio, sto ottenendo solo i risultati in cui la chiave esterna non è nulla. Ho bisogno di tutti i risultati. Cosa mi manca?Proprietà navigazione EF con chiave esterna nulla
public class User
{
[Key]
public int UserID {get;set;}
public String Name {get;set;}
}
public class Shipment
{
[Key]
public int ShipmentID {get;set;}
public int? SignedForByID {get;set;}
[ForeignKey("SignedForByID")]
public virtual User SignedForBy{get;set;}
}
navigazione mapping di proprietà:
Shipment.HasOptional(x=> x.SignedForBy).WithMany()
.HasForeignKey(y=> y.SignedForByID).WillCascadeOnDelete(false);
query:
var data = (from s in context.Set<Shipment>()
select new {
ShipmentID = s.ShipmentID,
SignedForBy = s.SignedForBy
});
La variabile di contesto è un DbContext? Puoi mostrare l'implementazione del metodo 'Spedizioni' che stai chiamando? – user2697817
Sì, lo è. Modifico il post per chiarire questo. È solo un DbSet – Sam
Allora sono perplesso, non vedo perché non dovrebbe funzionare. – user2697817