LINQ Code-First选择使用复合外键

时间:2013-08-17 18:53:18

标签: c# linq entity-framework ef-code-first

我正在尝试基于一个实体执行选择,将另一个实体作为外键关系。

我在测试中得到了对象并且它们是正确的对象但是由于某种原因我在Asserts中失败了。有时加载相关的实体,有时则不加载。

LINQ代码如下:

var toDoList = _dbSet.Where(s => Context.ToDos.Where(std => std.UserId == userId && std.Id == s.Id).Any()).AsEnumerable();

ToDo列表包含我从_dbSet中选择的实体的ID。我想知道这是否与延迟加载或我的LINQ问题有关。如何可靠地获取相关实体?

1 个答案:

答案 0 :(得分:0)

您可以使用Include来急切加载相关实体。

_dbSet.ToDos.Where(std => ...).Include(std => std.NavigationProperty)
    .AsEnumerable();

您可以查看此msdn文章了解详情。