我在对 dbContext 使用 Linq 时遇到困难,无法获取子对象的子对象集合具有特定最高值的对象计数。
我有类请求,事件,用户。我的简化对象图是这样的:-
Request Event User
| | |-> Username
|-> EventsCollection |-> Description
|-> User |-> WhenDone
我确信可以更改域模型,但无论如何,使用当前结构,我想要的是最近事件具有特定描述的特定用户的请求数的计数。
我最初认为像下面这样的东西会给我我正在寻找的价值
value = _db.Requests.Where(r => r.User.UserName.Equals("username") && r.Events.OrderByDescending(e => e.WhenDone).First().Description.Equals( "description")).Count();
然而,在运行这个我得到一个错误'First' can only be used as a final query operation change it I get other errors such as unsupported method etc.
我猜我应该使用子查询,但无法正确使用语法。
任何指向有用资源或建议解决方案的指针将不胜感激