ねえ、私はExpression<Func<T, bool>>
文字列プロパティがDateTimeOffsetに変換/キャストされ、DateTimeOffset操作を実行できるようにしようとしています。
データプロバイダーとしてLinq2SQLを使用しています。これは、文字列をDateTimeOffsetに相当するSQLに変換することをサポートしています。理想的には、式をIEnumerableとしてメモリ内ではなく、IQueryableデータソース内で直接評価する必要があります。
私がこれまでに試みたことの例については、以下を参照してください。
public class MyClass
{
public string MyValue;
}
Expression<Func<MyClass, bool>> filter = mc => DateTimeOffset.Parse(mc.MyValue) > new DateTimeOffset(2007,1,1);
残念ながら、このフィルターの定義により、メモリー内評価が発生します。