Linq to sql LinqToSql-在选定结果中包含链接对象

Linq to sql LinqToSql-在选定结果中包含链接对象,linq-to-sql,foreign-keys,Linq To Sql,Foreign Keys,我有两张桌子。与外键链接 现在,我从字段表中获取一行: IField Field = from f in DataContext.fields where f.mapId == mapId && f.x1 == x && f.y1 == y select f; 处理这一行时,我需要链接表字段视图中的一些数据。所以我就这样做: [..] Field.FieldViews [..] 根据SQL探查器,

我有两张桌子。与外键链接

现在,我从字段表中获取一行:

IField Field = from f in DataContext.fields
               where f.mapId == mapId && f.x1 == x && f.y1 == y
               select f;
处理这一行时,我需要链接表字段视图中的一些数据。所以我就这样做:

[..] Field.FieldViews [..]
根据SQL探查器,LINQtoSQL生成以下查询

SELECT
    [t0].[fieldId],
    [t0].[mapId],
    [t0].[x1],
    [t0].[y1]
FROM
    [dbo].[fields] AS [t0]
WHERE 
    ([t0].[mapId] = @p0) AND 
    ([t0].[x1] = @p1) AND 
    ([t0].[y1] = @p2)


SELECT
    [t0].[fieldViewId],
    [t0].[fieldId],
    [t0].[mapUserId]
FROM
    [dbo].[fieldViews] AS [t0]
WHERE
    [t0].[fieldId] = @p0
但我不需要2个查询。如何使LinqToSql在第一个查询中包含此链接对象?

使用可以指定L2S将加载FieldView记录和字段

在查询之前插入如下内容:

var dlo = new DataLoadOptions();
dlo.LoadWith<Fields>(f => f.FieldViews);
DataContext.LoadOptions = dlo;
var dlo=new DataLoadOptions();
dlo.LoadWith(f=>f.fieldview);
DataContext.LoadOptions=dlo;
服务器将执行两个查询,但在对服务器的同一个调用中