。凡

2012-11-19 38 views
0

我有这样的模式:。凡

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

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

回答

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(); 
+0

完美!谢谢。 – MuriloKunze