Entity Frameworkは、部分的に完全なインスタンスを実現することはありません。言い換えれば、の子ロケーションのだけを持つ場所を実現することはできません。これは「不完全な」オブジェクトであり、Entity Frameworkはこれを許可しません。
ただし、回避策があります。あなたが唯一の場所自体からChildLocationsないから情報が必要な場合は、ちょうどそれを選択:我々は唯一のChildLocationsを選択しているので、この場合は
from Locations in this.LocationDataContext.Locations
where Locations.LocationType.ID == 3
from ChildLocation in Locations
where ChildLocation.LocationType.ID == 2
select ChildLocation;
を、それらのいくつかを選択するだけにOKですそれらは完全に実現することができるからです。私たちが必要とする場所を具体化するときだけですすべて子供たち。
もう1つの回避策は、部分的な位置情報を匿名型に具体化することです。これにより、場所とのChildLocationsの両方に関する情報を得ることができます。ただし、インスタンスは完全な形式でしか実現できないという規則に違反することはありません。実際の場所を実際に具体化しているわけではないので、全体を具体化する必要はありません。
from Locations in this.LocationDataContext.Locations
where Locations.LocationType.ID == 3
select new
{
ID = Locations.ID,
LocationType= Locations.LocationType
ChildLocations = from ChildLocation in Locations
where ChildLocation.LocationType.ID == 2
select ChildLocation
}
いい説明、ありがたいです。 –