私はnull可能なフィールドを持っており、日付フィールドをnull可能な日時型datetime
に変換する必要があります(..を使用)...以下を使用してこれを行いました。string
Expression
Expression.Constant(Convert.ChangeType(value, Nullable.GetUnderlyingType(memberAccess.Type)));.
memberAccess (前述) はメンバー式の型です。(LinqExtensions.cs から)コードでは、Expression.Equal メソッドを使用しています。
Expression.Equal(memberAccess, filter);
memberaccess タイプは null 可能ですが、filter.type は null 可能ではないため、ここでは失敗します...
を使用してメンバーアクセスタイプをnullableに変換しようとしても
ConstantExpression test = Expression.Constant(Nullable.GetUnderlyingType(memberAccess.Type)),
Type は Runtime であり、DateTime ではありません。
Expression.Equal
null 許容フィールドと null 非許容フィールドを比較するにはどうすればよいですか? 文字列型を null 許容の日時フィールドに変換する方法はありますか? これのいずれかが私の問題を解決します。