2009-12-09 123 views

回答

2

Yes,虽然不如L2E完整。另见Data Types and Functions。这包括DateTimeDateTimeOffset

+0

我接受了答复,因为它似乎是可以找到的最全面的信息。没有支持的\不受支持的IQueryable方法列表 - 只有(某些?)不支持的方法的示例:http://msdn.microsoft.com/en-us/library/bb882656.aspx – 2009-12-09 18:10:33

0

http://msdn.microsoft.com/en-us/library/bb337580.aspx。所有这些扩展方法都记录为IQueryable的成员。

Rembmer IQueryable实现了IEnumerable,所以IEnumerable实现的任何东西也可以在IQueryable上使用,但需要注意的是其中一些方法不起作用!特别是,任何使用自定义比较器的东西都可以正确编译,但是会从LINQ到SQL获得运行时错误。对于带有非数字值的.Take()和.Skip()也是如此。

+0

我完全了解IQueryable和IEnumerable(我是支持LINQ的ORM工具的开发人员之一)。您的回复没有帮助,因为* any LINQ提供程序仅支持一部分IQueryable方法。这个问题本身表明我知道这些方法的完整列表... – 2009-12-09 17:29:59

+0

那么你的问题当然不明确。为什么DateTime的处理方式与其他任何值类型不同? IQueryable将支持哪些构造函数(任何类型的),这是一个接口? Iqueryable支持哪些其他方法,除了那些定义在它上面或它继承的接口? – 2009-12-09 17:51:09

+0

是的,可能这个问题真的不清楚,特别是如果你不把自己的精力投入到LINQ翻译太多。受支持的构造函数和其他类型的成员很有趣,因为IQueryable提供程序或者支持其中的一个。 “支持”意味着它能够将此成员的表达式转换为与SQL等效的表达式。显然,没有任何东西可以用这种方式翻译,因此一组由特定供应商支持的BCL类型\成员也很有趣。 – 2009-12-09 18:07:22