Я переписываю приложение ASP.NET MVC в ASP.NET CORE и столкнулся с делом, использующим метод Linq 2 Sql AssociateWith, для которого я не уверен, как правильно переписать его. В .NET Core я сейчас использую Entity Framework.
Linq 2 Sql код:
var option = new System.Data.Linq.DataLoadOptions();
option.LoadWith<Device>(e => e.SensorStatus);
option.LoadWith<Device>(e => e.SensorVisibilities);
option.AssociateWith<Device>(e => e.SensorStatus.OrderByDescending(c => c.SensorDataID).Take(1));
option.LoadWith<SensorStatus>(e => e.SensorDatas);
ctx.LoadOptions = option;
Текущий код EF, для которого я не уверен, правильно ли я понял:
var devices = ctx.Device.Include(x => x.SensorStatus)
.ThenInclude(x => x.SensorData).OrderByDescending(x => x.SensorStatus.Select(y => y.SensorDataId)).Take(1)
.Include(x => x.SensorVisibility);
пс. Я искал сообщения в стеке, но нашел только одну похожую тему, где было только одно присоединение. ( Entity Framework против AssociateWith )