Próbuję użyć właściwości nawigacyjnych po raz pierwszy zamiast wykonywania połączeń. Nie mogę znaleźć sytuacji, w której normalnie byłoby działać z lewym złączem zewnętrznym. W poniższym przykładzie otrzymuję wyniki tylko wtedy, gdy klucz obcy nie ma wartości null. Potrzebuję wszystkich wyników. czego mi brakuje?EF Navigation Właściwość z pustym kluczem obcym
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;}
}
nawigacji odwzorowania obiektu:
Shipment.HasOptional(x=> x.SignedForBy).WithMany()
.HasForeignKey(y=> y.SignedForByID).WillCascadeOnDelete(false);
zapytania:
var data = (from s in context.Set<Shipment>()
select new {
ShipmentID = s.ShipmentID,
SignedForBy = s.SignedForBy
});
Czy zmienna kontekstowa jest DbContext? Czy możesz pokazać implementację metody 'Shipments', do której dzwonisz? – user2697817
Tak, jest. Edytuję post, aby to wyjaśnić. To tylko DbSet – Sam
Jestem zaskoczony, nie widzę powodu, dlaczego to nie powinno działać. – user2697817