2

私は次のものを持っています:

context.tblProviderServices
.Where(ps => (DateTime.Now > ps.EffectiveDate && DateTime.Now < ps.TerminateDate) &&
         (ps.tblProvider.InactiveDate == null || DateTime.Now < ps.tblProvider.InactiveDate) &&
         (ps.tblProvider.IncludeInDirectory == "Y") &&
         (ps.ServiceStatusID == "Final") &&
         (ps.IsMemberSpecific == null || ps.IsMemberSpecific == false) &&
         (ps.tblProvider.tblProviderReferralHolds.Where(h => h.TerminateDate == null).Count() < 1))

私の質問は最後の行に関するものです。それは間違っています。書いているうちにわかりましたが、自分が望むものに変更する方法がわかりません。

これらのすべてのテーブルには、適切な関係が設定されています。 tblProvider私が達成しようとtblProviderReferralHoldsしているのは、プロバイダーが現在保持していないサービスのみに結果を制限することです。

NOT IN(SubQuery)SQL では、型取引 で同様のことを達成できたはずです。

LINQ でこれを行うにはどうすればよいですか?

4

2 に答える 2

6

使えると思いますAny

最後の行は

!(ps.tblProvider.tblProviderReferralHolds.Any(h => h.TerminateDate == null))
于 2012-07-17T17:17:00.537 に答える
0

「除く」linqをチェックしてください。

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.except.aspx

于 2012-07-17T17:12:44.773 に答える