我有这个模型:
public class User
{
//other properties
public List<Task> Tasks {get;set;}
}
如何选择用户的所有属性,并且只选择具有 的任务Date = DateTime.Today
?我可以这样做吗?
我有这个模型:
public class User
{
//other properties
public List<Task> Tasks {get;set;}
}
如何选择用户的所有属性,并且只选择具有 的任务Date = DateTime.Today
?我可以这样做吗?
var today = DateTime.Today;
var tomorrow = today.AddDays(1);
var users = context.Users
.Select(u => new
{
User = u,
Tasks = u.Tasks.Where(t => t.Date >= today && t.Date < tomorrow)
})
.AsEnumerable()
.Select(a => a.User)
.ToList();
user.Tasks
如果关系不是多对多,这将使用所选任务自动填充集合。如果您只想要另一个对象(匿名或其他一些非实体类)具有来自用户实体的选定数据,您可以使用:
var users = context.Users
.Select(u => new // or new SomeClass
{
Name = u.Name,
// more properties
Tasks = u.Tasks.Where(t => t.Date >= today && t.Date < tomorrow)
})
.ToList();