私のクラスの関係:ClassMaster 1 ---- * ClassSessions
私の目標:StartDateTimeが現在の日付よりも大きいClassSessionsを持つすべてのClassMastersと、これらのClassSessions(日付でフィルタリング)を返します。
T-SQLでは、次のようにします。
select *
from ClassSession
join ClassMaster on ClassMaster.ClassId = ClassSession.ClassId
Where ClassSession.StartDateTime > getdate()
EntityFramework4クエリでも同じ結果を実現する必要があります。これは私がそれがうまくいくと思ったものですが、そうではありません:
var classes = ctx.ClassSessions
.Include("ClassMasters")
.Where(s => s.StartDateTime > DateTime.Now)
.Select(s => s.ClassMaster)
.ToList();
これにより、StartDateTime>現在の日付のClassSessionを持つすべてのClassMasterが得られますが、ClassSessionsプロパティには、現在の日付より古いものを含むすべてのClassSessionが含まれています。StartDateTime>現在の日付のClassSessionsのみが必要です。
私は何が間違っているのですか?
どうもありがとうございます!