Dynamic linq を使用して MVC アプリにデータを提供していますが、DateTime フィールドに問題があります。
解析しているオブジェクトには System.Datetime フィールドがあり、日付が対応しているかどうかを確認したいと考えています。
したがって、次のように文字列を作成しようとします (データを取得するために動的辞書を解析しています)。
string dateToParse = keyValuePair.Value;
DateTime objDate = DateTime.Parse(dateToParse);
valuesToUse.Add("OBJ_DATE.Date == " + objDate.ToShortDateString());
そして、データをロードするときは、次のようにします。
var objQry = from pl in m_Db.OBJS.Where(whereConditions)
select pl;
変数は、whereConditions
すべてのデータがあるときに作成する文字列です。
しかし、データが日時フィールドにヒットすると、アプリは次のステートメントでクラッシュします。
Operator '==' incompatible with operand types 'DateTime' and 'Int32'
動的Linqを使用してDateTimeフィールドを確認するにはどうすればよいですか? ToShortDateString なしで objDate を配置するなど、多くのオプションを試しましたが、同じ効果があります。
編集:
たとえば、「OBJ_DATE.Date == 2012.01.01」