0

全部,

我正在 VB.NET 中试验 Linq 和实体框架(尽管我使用的是 nHydrate)。假设我有 3 个表,如下所示:

图表

所以 Table1 是具有许多记录/实体的顶级祖父母。

我想选择与特定 Table1 实例相关的所有 Table3 记录/实体。我想将此作为某些搜索功能的一部分。

我想以 Table1 的一个实例为起点,即

Public Class MySearch

    Private _lookUnder As System.Data.Objects.DataClasses.EntityObject

    Public Sub Search() 
        ...
        CType(_lookUnder, Table1) ' ???? need to linq here ????
        ...
    End Sub
End Class

这可以用 Linq 完全完成吗?欢迎使用 C# 答案。

我试过看这个,但没有太大帮助。

谢谢,

安德斯

4

1 回答 1

2

理想情况下,您应该可以访问上下文,从而使这样的事情成为可能(C#):

var relatedTable3s = context.Table3s.Where(t3 => t3.Table2.Table1.id == _lookUnder.id);

我想这样的事情也可能有效:

var relatedTable3s =
    from t2 in _lookUnder.Table2s.AsQueryable()
    from t3 in t2.Table3s
    select t3;

...否则写为:

var relatedTable3s = _lookUnder.Table2s.AsQueryable()
    .SelectMany(t2 => t2.Table3s);
于 2012-09-18T22:44:05.907 回答