加载单个相关对象

时间:2011-09-15 17:10:57

标签: c# linq entity-framework lazy-loading

我需要从导航属性(ICollection)加载一个相关对象以发送到我的MVC视图。

这可以节省我不必要的数据库访问和加载。

我找到this article关于加载相关对象但未弄清楚如何从列表中加载一个相关对象。

简而言之,我需要对象及其导航属性中的一个相关对象。

如何实现这个目标?

1 个答案:

答案 0 :(得分:2)

您不能使用Include执行此操作。 Include将带回导航属性的所有相关实体。您可以编写两个单独的查询,也可以在查询中编写连接。

写两个查询:

var princess = context.Princesses.Find(id);
var unicorns = context.Unicorns.Where(u => u.PrincessId == id && u.UnicornName == "Blinky");

princess.Unicorns = unicorns.ToList();