我正在使用存储过程以递归方式展平Device
层次结构。存储过程只返回一个设备的平面列表,EF很好地将它们转换为C#实体,这是我当前的代码:
public IEnumerable<Device> GetAllDevicesForFolder(int folderID)
{
return this.Database.SqlQuery<Device>("GetListOfDevicesFromFolder {0}", folderID);
}
现在Device
包含public virtual ICollection<SettingsEntry> Settings
,我们通常会Include()
这样.Include(a => a.Devices.Select(d => d.Settings))
,但这不适用于存储过程。
那么我们如何使用EF包含设备设置?或者它是否必须在存储过程本身内完成?