C# 是否可以访问Linq对象的父对象?

C# 是否可以访问Linq对象的父对象?,c#,linq,C#,Linq,在查询EntitySet的情况下(例如,在多对多关系中),是否可以访问父对象 e、 g 可能吗 是否可以访问父对象 对于多对多,实际上没有“父对象”-存在多个相关对象。多对多通常使用导航属性建模: public class Thing { public int ID {get; set;} public virtual IEnumerable<Widget> Widgets {get; set;} } public class Widget { public in

在查询
EntitySet
的情况下(例如,在多对多关系中),是否可以访问父对象

e、 g

可能吗

是否可以访问父对象

对于多对多,实际上没有“父对象”-存在多个相关对象。多对多通常使用导航属性建模:

public class Thing
{
   public int ID {get; set;}
   public virtual IEnumerable<Widget> Widgets {get; set;}
}

public class Widget
{
   public int ID {get; set;}
   public virtual IEnumerable<Thing> Things {get; set;}
}
是否可以访问父对象

对于多对多,实际上没有“父对象”-存在多个相关对象。多对多通常使用导航属性建模:

public class Thing
{
   public int ID {get; set;}
   public virtual IEnumerable<Widget> Widgets {get; set;}
}

public class Widget
{
   public int ID {get; set;}
   public virtual IEnumerable<Thing> Things {get; set;}
}

那么当你尝试它时,发生了什么?不,除非
Widget
引用了
thing
(这是合乎逻辑的,我想你已经排除了这一点)。@Jeroenvanevel在这种情况下?没什么
ParentThing
是一个用于说明目的的虚构属性。如果您的意思是:除了与相同类型的多个实体的多对多关联之外,是否还可能与一个实体关联,答案是“是”。@GertArnold您是否有指向示例(或其他内容)的链接?那么当您尝试它时,发生了什么?否,除非
Widget
引用了
thing
(这是合乎逻辑的,我想你已经排除了这一点)。@Jeroenvanevel在这种情况下?没什么
ParentThing
是一个用于说明目的的虚构属性。如果您的意思是:除了与相同类型的多个实体的多对多关联之外,是否还可能与一个实体有关联,答案是“是”。@GertArnold您是否有指向示例(或其他内容)的链接,我有很多东西-
thing.Widgets
widget.Things
在我的应用程序中都是可能的-但是如果
thing
查询
widget
(例如
thing.Widgets.First();
)返回的
小部件
有没有办法访问查询它的特定
对象
?好的,我现在明白了-我想不出来-你为什么需要它?可能还有另一种方法可以满足您的需要。现在我将实例作为参数传递给需要它的方法调用,感觉有点不舒服。我只是希望有一种方法来清理一下。是的,我有很多-
东西。Widgets
widget。东西在我的应用程序中都是可能的-但是如果一个
东西
查询一个
小部件
(例如
东西.Widgets.First();
)返回的
小部件
有没有办法访问查询它的特定
对象
?好的,我现在明白了-我想不出来-你为什么需要它?可能还有另一种方法可以满足您的需要。现在我将实例作为参数传递给需要它的方法调用,感觉有点不舒服。我只是希望有办法把它清理干净一点。
var relatedThings = db.Things
                      .Where(t => t.Widgets.Any(w => ID == widget.ID));