嗨,我正在尝试创建一个Expression<Func<T, bool>>
,其中字符串属性被转换/转换为DateTimeOffset,以便可以对其执行DateTimeOffset操作。在表达式中解析字符串为DateTimeOffset <Func <T, bool>>
我们使用Linq2SQL作为我们的数据提供者,它支持将字符串转换为DateTimeOffset的SQL等价物。理想情况下,我希望表达式直接在IQueryable数据源中进行评估,而不是作为IEnumerable在内存中进行评估。
请参阅以下的是我曾尝试远的例子:
public class MyClass
{
public string MyValue;
}
Expression<Func<MyClass, bool>> filter = mc => DateTimeOffset.Parse(mc.MyValue) > new DateTimeOffset(2007,1,1);
不幸的是过滤器的这个定义在内存计算导致。
我很困惑。物理表列是'char'还是'datetime'? – 2009-10-20 20:09:10
在SQL中,列是一个字符串(我相信nvarchar) – NoizWaves 2009-10-20 22:44:26