如何指定强类型导航属性includes
本文关键字:属性 includes 导航 强类型 何指定 | 更新日期: 2023-09-27 18:29:20
我正在编写一个EF存储库,我的一个函数允许您通过谓词查找特定对象,同时指定include
IQueryable<T> FindBy(Expression<Func<T, bool>> predicate,
params Expression<Func<T, object>>[] includes)
这很好,但是我想指定的一个包含是导航属性的导航属性。
我的调用当前看起来是这样的,如果指定为字符串,它将是"Folders.Devices"
。
var folder = _Folders.FindBy(f => f.FolderId == id, f => f.Devices).FirstOrDefault();
如果我通过字符串指定这个额外的导航属性,它将是
"Folders.Devices.Nodes"
我的问题是如何在代码中包含Devices
中每个Device
的Nodes
属性?
var folder = _Folders.FindBy(f => f.FolderId == id, f => f.Devices.SelectMany(x=>x.Nodes)).FirstOrDefault();