Meine EF Objektabfrage ist:mit Join mit Entity-Framework-Objektabfrage. Navigationseigenschaft noch zeigt alle Einheiten des verbundenen Unternehmens
from customer in MCDBContext.Customers
join customerCase in MCDBContext.CustomerCases on customer.CustomerID equals customerCase.CustomerID
join customerCasePhone in MCDBContext.CustomerCasePhones on customerCase.CustomerCaseID equals customerCasePhone.CustomerCaseID
**join customerCaseAddress in MCDBContext.CustomerCaseAddresses on customerCase.CustomerCaseID equals customerCaseAddress.CustomerCaseID**
where customer.CustomerPIN.Equals(pin, StringComparison.InvariantCultureIgnoreCase) &&
customerCasePhone.PhoneNumber.Equals(phoneNumber, StringComparison.InvariantCultureIgnoreCase) &&
**customerCaseAddress.AddressTypeID == 6** &&
customerCase.IsActive == true && customerCasePhone.IsActive == true && customerCaseAddress.Active == true && customer.IsActive == true
select customer;
Im Code:
var customers = getmethod() //calls the above object query method.
wenn ich jetzt tun customers.First().CustomerAddresses();
// Gibt alle Kundenadressen, obwohl ich es gefiltert habe, nur um TypeID = 6 in meiner Objektabfrage zu tun. Warum? Ich möchte die Filterbedingung nicht erneut schreiben. Irgendwelche Ideen?
Danke.
Cool, danke! Das hat die Dinge sehr deutlich gemacht. Ich würde mit Lazy Loading gehen und meine Filterung dort vornehmen, anstatt mich mit den anonymen Sammlungsobjekten zu beschäftigen. –