0

我有这个模型:

public class User
{
    //other properties
    public List<Task> Tasks {get;set;}
}

如何选择用户的所有属性,并且只选择具有 的任务Date = DateTime.Today?我可以这样做吗?

4

1 回答 1

1
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();
于 2012-11-19T18:34:03.813 回答