2009-06-03 11 views

Respuesta

6

Parece que el proyecto fue abandonado, pero trabajé en él y ahora funciona con .NET 4.0 y Silverlight. Hice correcciones de errores a su código y también lo hice más independiente de DAL.

http://expressiontree.codeplex.com/

+0

Gracias por elegir este proyecto.Buen trabajo. –

+0

También escribí un proveedor de LINQ, que se inspira en el proyecto IQToolkit (aparentemente inactivo) para .NET 4.0. La razón fue que tuve que crear mi propio proveedor de LINQ-to-T-SQL para un proyecto en el trabajo, lo que permitió un ADO.NET 2.0 DAL para consultas LINQ. http://linqprovider.codeplex.com/ –

0

Se utiliza en el proxy de cliente de ADO.NET Data Services para realizar consultas LINQ contra de un servicio REST y tener esa consulta serializado y ejecutado en el servicio. Funciona muy bien en mi experiencia.

Si quiere probar su utilidad, pruebe ADO.NET Data Service.

+0

creo que no estamos hablando de lo mismo. el proyecto de serialización de árbol expresion no utiliza ningún servicio WCF. – Tamir

+0

Estamos hablando de lo mismo. Esta es una * aplicación * de serialización de árbol de expresiones: el árbol de expresiones serializadas se usa para crear una URL para la recuperación de datos RESTful. Pensé que te gustaría ver una aplicación práctica de la serialización del árbol de expresiones. (esperemos que no esté serializando árboles de expresiones solo para serializarlos :)) –

+0

las muestras MS proporcionan para el proyecto ExpressionTreeSerialization que no muestra ningún servicio WCF. toman el objeto IQueryable, lo serializan en un nuevo objeto, lo envían al servidor, sin importar cómo (WS, WCF ect) y los deserializan de nuevo a IQueryable, ejecutan la consulta y devuelven IEnumerable al cliente. Creo que esto es diferente al proyecto Astoria – Tamir

1

He encontrado que no puede serializar cierres personalizados y actualmente estoy escribiendo mi propio serializador binario. Dicho esto, el hecho de que la serialización del árbol de expresiones no se incluyera en .net 4.0 es extremadamente decepcionante.

1

Estoy usando esta biblioteca para serializar/deserializar consultas de "linq to object". La biblioteca está haciendo esto bastante bien. Hubo algunos problemas, pero pude solucionarlos debido a la fuente abierta de la biblioteca. El problema de que ya no es compatible.

+0

Supongo que esto se debe a LINQ To SQL con DataContext en lugar de ObjectContext (en la implementación de Entity Framework). De todos modos, solucionamos este problema creando consultas dinámicas para que el desarrollador del lado del cliente pueda crear objetos "Query", agregue el objeto "Condition" a Query.Conditions collection etc. "muy similar a como se implementa en algunas otras bibliotecas (ej webdev) Gracias por compartir. Tamir. – Tamir

1

Los aspectos de seguridad de esta biblioteca son realmente aterradores para mí. Es casi como ejecutar un código arbitrario que proviene de la configuración o de una solicitud.

+0

Eso es cierto, pero con una cuidadosa arquitectura de su sistema no se acercará a ningún problema como ese, y los beneficios de la serialización Expression son numerosos, como la capacidad de crear expresiones lógicas de predicados personalizadas y almacenarlas para su uso posterior, GUI flexibles , etc. –

Cuestiones relacionadas