C# 实体框架核心从父-子集合的
我使用的是entity framework core,具有简单的表结构,其中系统有许多日志,但对于我的某些功能,我希望拥有该集合的最后一个子项,因此我尝试:C# 实体框架核心从父-子集合的,c#,.net-core,entity-framework-core,C#,.net Core,Entity Framework Core,我使用的是entity framework core,具有简单的表结构,其中系统有许多日志,但对于我的某些功能,我希望拥有该集合的最后一个子项,因此我尝试: Models.Entities.System system = await Context.Systems .Include(log => log.MaintenanceLogs) .FirstOrDefaultAsync(system=> system.Id == system); 但我知道我不能补充 .Incl
Models.Entities.System system = await Context.Systems
.Include(log => log.MaintenanceLogs)
.FirstOrDefaultAsync(system=> system.Id == system);
但我知道我不能补充
.Include(log => log.MaintenanceLogs).Last()
好吧,它不会工作,我可以创建手动查询并得到我想要的,但这不是重点。
我还可以获取所有日志,并在查询实现后获取最后一个日志,但仍然可以有大量的日志和数据库记录,我只需要最后一个日志,所以为什么要浪费资源呢
原因是,我需要从上一个日志中获取一个值,并基于该值更新系统(当然是所有事务)
能做到吗?你能做到吗
Models.Entities.MaintenanceLog log=wait Context.MaintenanceLogs
.Include(log=>log.System)
.LastOrDefaultAsync(log=>log.System.Id==System);
相反?你知道,换个方向
这将只获取MaintenanceLogs表中的最后一个条目,其中System.Id
等于System
变量的值。您能做什么
Models.Entities.MaintenanceLog log=wait Context.MaintenanceLogs
.Include(log=>log.System)
.LastOrDefaultAsync(log=>log.System.Id==System);
相反?你知道,换个方向
这将只获取MaintenanceLogs表中的最后一个条目,其中
System.Id
等于System
变量的值。按日志日期降序,然后取(1),然后调用FirstOrDefault(),尽管可能不必先调用Take(1)。按日志日期降序,然后取(1),然后调用FirstOrDefault(),尽管可能不需要先调用Take(1)。