2016-11-25 9 views
0

データベースからアイテムを取得しようとしましたが、System.NotSupportedExceptionを取得しようとしました。どのように私はこの例外を回避することができます任意のアイデアですか?2つの日付の間にdbから項目を取得します。例外がスローされました: 'System.NotSupportedException'

return await DbContext.Members.Where(
    x => x.ClientId == criteria.ClientId 
     && DbFunctions.TruncateTime(x.CreatedOn).Value.Date 
        >= criteria.StartDate.Value.Date 
     && DbFunctions.TruncateTime(x.CreatedOn).Value.Date 
        <= criteria.EndDate.Value.Date 
    ).ToListAsync(); 
+1

は、完全なエラーメッセージは何 '.Value.Date' – stuartd

+0

せずにそれを試してみてください - それは、これを一致ん:http://stackoverflow.com/questions/24794561/error-using-ef6-dbfunctions-truncatetime-comparison-datetime – Jamiec

+0

@stuartdうわー、それは解決策です。 – Vitaliy

答えて

2

DbFunctions.TruncateTimeは日からの時間を切り捨て、その例外の原因となっているもの.Value.Dateを、使用する必要はありません。

1

あなたはEntityFunctions.TruncateTimeを使用することができます。

return await DbContext.Members.Where(
         x => x.ClientId == criteria.ClientId && 
         EntityFunctions.TruncateTime(x.CreatedOn) >= criteria.StartDate.Value.Date && 
         EntityFunctions.TruncateTime(x.CreatedOn) <= criteria.EndDate.Value.Date 
         ).ToListAsync(); 
+0

'DbFunctions.TruncateTime'と' EntityFunctions.TruncateTime'の違いは何ですか? – stuartd

+0

http://stackoverflow.com/questions/23911301/what-are-the-difference-between-entityfunctions-truncatetime-and-dbfunctions-tru – RezaDefaei

+0

_「違いはありません」_ – stuartd

関連する問題