C# 实体框架中的联接需要帮助

C# 实体框架中的联接需要帮助,c#,linq,entity-framework,entity-framework-4,C#,Linq,Entity Framework,Entity Framework 4,我有三张桌子: 地区: ID, Name 地区 ID, RegionID, Name 城市 ID, DistrictID, Name 当我这样写的时候: var result = (from item in db.Region.Include("District.City") select item).ToList(); 结果,我得到了相互依赖的对象 例如:在地区我有2个对象,在地区有4个对象,在城市有8个对象 我想用Linq Join编写此代码,而不是用in

我有三张桌子:

地区

ID,
Name
地区

ID,
RegionID,
Name
城市

ID,
DistrictID,
Name
当我这样写的时候:

var result = (from item in db.Region.Include("District.City")
              select item).ToList();
结果,我得到了相互依赖的对象

例如:在
地区
我有2个对象,在
地区
有4个对象,在
城市
有8个对象

我想用Linq Join编写此代码,而不是用
include()


你能帮我吗???

你可以用“加入”代替“包括”,但你的关系不会改变

var result = from r in db.Region
             join d in db.District on r.ID equals d.RegionID
             join c in db.City on d.ID equals c.DistrictID
             where r.ID == 1
             select r;

在编写时没有Where参数,就像使用联接编写一样,但没有Where参数返回结果8个对象2@west抱歉,我刚刚意识到我忘记了select语句。实际上,您还没有定义预期的结果数量。你期待1,2,4,8吗?仅区域对象?我希望在区域中有2个,当我使用Include()编写时,它运行良好,在区域中返回2个对象,在地区中返回4个,在城市中返回8个,但当我像您一样使用Join编写时,它在区域中返回8个Region@west你能更新你的OP以准确地包含你需要的数据吗?我还是不明白你想做什么你能看看我的资料吗我上传了它是simple project@David