2009-12-09 13 views
8

Estoy buscando esa lista para LINQ to SQL. Idealmente, me gustaría tener una lista de otros métodos compatibles (o miembros, por ejemplo, constructores), p. para el tipo de fecha y hora.LINQ to SQL: ¿hay una lista completa de los métodos de extensión IQueryable admitidos?

+1

Las personas que votan para cerrar como un duplicado exacto de http://stackoverflow.com/questions/1875156/ son ** incorrectas. ** Las reglas para L2S y L2E son diferentes, como lo es la documentación. –

Respuesta

2

Yes, aunque menos completo que para L2E. Consulte también Data Types and Functions. Esto incluye DateTime y DateTimeOffset.

+0

Acepté la respuesta, ya que parece que esta es la información más completa que se puede encontrar. No hay una lista de métodos IQueryable soportados \ no compatibles; hay ejemplos justos (¿algunos?) De no compatibles: http://msdn.microsoft.com/en-us/library/bb882656.aspx –

0

http://msdn.microsoft.com/en-us/library/bb337580.aspx. Todos los métodos de extensión están documentados como miembros de IQueryable.

Recuérdese que IQueryable implementa IEnumerable, por lo que todo lo que IEnumerable implementa también está disponible en IQueryable, con la advertencia de que algunos de esos métodos no funcionan. En particular, todo lo que utilice un comparador personalizado se compilará correctamente, pero recibirá un error de tiempo de ejecución de LINQ a SQL. También es cierto para .Take() y .Skip() con valores no numéricos.

+0

Soy plenamente consciente de IQueryable e IEnumerable (soy uno de los desarrolladores de la herramienta ORM que admite LINQ). Su respuesta no es útil, ya que solo un subconjunto de métodos IQueryable es compatible con * any * LINQ provider. La pregunta en sí misma indica que conozco una lista completa de estos métodos ... –

+0

Entonces su pregunta ciertamente no está clara. ¿Por qué DateTime se manejaría de manera diferente a cualquier otro tipo de valor? ¿Qué constructores (de cualquier tipo) serían soportados por IQueryable, que es una interfaz? ¿Qué otros métodos serían compatibles con Iqueryable, distintos de los definidos en él o en las interfaces de las que hereda? –

+0

Sí, puede ser que la pregunta no esté clara, especialmente si no se dedica demasiado a la traducción de LINQ. Los constructores y miembros compatibles de otros tipos son interesantes porque el proveedor de IQueryable admite uno de ellos en particular o no. "Apoyos" significa que es capaz de traducir una expresión con este miembro a su equivalente SQL. Obviamente, no se puede traducir nada de esta forma, por lo que también es interesante un conjunto de tipos de miembros BCL respaldados por un proveedor en particular. –

Cuestiones relacionadas