我正在使用MS实体框架核心,正在尝试进行急切的加载查询。为此,我有以下方法:
public FieldSet GetFieldSetById(int id)
{
return _context.FieldSet.Include("FieldSetFields.Field").SingleOrDefault(fs => fs.FieldSetId == id);
}
此代码可以正常工作,但是我想知道如何使用lambda语法(System.Func)实现它。
到目前为止,我也可以使用它,但是其中不包含“字段”。
return _context.FieldSet.Include(e => e.FieldSetFields).SingleOrDefault(fs => fs.FieldSetId == id);
FieldSetFields是一个列表,然后我无法调用.Field。我该如何实现?
答案 0 :(得分:1)
使用ThenInclude
:
return _context.FieldSet
.Include(e => e.FieldSetFields)
.ThenInclude(fsf => fsf.Field)
.SingleOrDefault(fs => fs.FieldSetId == id);