。凡

2012-11-19 70 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