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 に答える