Tengo un D
Objekt, das aus der automatischen Zuordnung der D
Tisch. Ich habe ihr in einer partiellen Klasse die folgende Eigenschaft hinzugefügt.
public Address PhysicalAddress
{
get { return this.Addresses.FirstOrDefault(a => a.AddrType == "PHY"); }
}
Das funktioniert auch allein.
Ich möchte die folgende Linq-Abfrage darauf schreiben:
var result = from d in _db.D
where d.PhysicalAddress.State == addr.State
select d;
Das funktioniert nicht. Es wirft eine NotSupportedException
wenn ich versuche, eine Iteration über result
.
Die folgende Methode funktioniert jedoch:
var result = from d in _db.D
where d.Addresses.Single(dAddr => dAddr.AddrType == "PHY").State == addr.State
select d;
Warum funktioniert Linq to Sql auf diese Weise? Gibt es eine Möglichkeit, meine Eigenschaft so umzuschreiben, dass sie funktioniert?