2017-07-07 11 views
0

私は実際に以下のLINQクエリに問題があります。私はこのエラーについて多くの研究を行いましたが、DbFunctions.TruncateTime()の使用を参照しているほとんどのものは、まだこれは私のために働いていないようです。私は誰かがこれを見て、どこに間違っているのかを教えてくれることを願っています。私がしようとしているのは、datetimeの日付部分だけを比較することですが、引き続き例外を取得します。指定された型メンバー 'Date'は、LINQ to Entitiesではサポートされていません。初期化子、エンティティメンバー、エンティティナビゲーションプロパティのみがサポートされています。DbFunctions.TruncateTime()はまだ "型メンバー 'Date'はサポートされていません"エラーを生成します。

if (!db.MaintenanceWindows.Any(x => x.Id == Id & 
DbFunctions.TruncateTime(x.BlockedDay) == DateTime.UtcNow.Date & 
x.IsDeleted.Value == false)) 
{ 
... 
} 

TIA

+2

「Date」プロパティはここにあります。「DateTime.UtcNow.Date」 –

+0

はい、どうですか?それがそこにあるのは間違いですか? – Nugs

+2

私はそれが 'Date'プロパティを使っていることを意味しています - 何の例外メッセージがあなたに伝えているのですか?それをクエリの外に変数に入れないのはなぜですか? –

答えて

0

それはDbFunctions.TruncateTime文句ないです。

if (!db.MaintenanceWindows.Any(x => x.Id == Id && 
    DbFunctions.TruncateTime(x.BlockedDay) == DbFunctions.TruncateTime(DateTime.UtcNow) && 
    x.IsDeleted.Value == false)) 

投書B:それはDateTime.UtcNow.Date

投書A文句だ

また
var utcNow = DateTime.UtcNow.Date; 
if (!db.MaintenanceWindows.Any(x => x.Id == Id && 
    DbFunctions.TruncateTime(x.BlockedDay) == utcNow && 
    x.IsDeleted.Value == false)) 

、あなたは、式の中で(&&) "論理AND" をしたいしようとしています。

関連する問題