2009-06-03 11 views

risposta

6

Sembra che il progetto sia stato abbandonato ma ho lavorato su di esso e ora funziona con .NET 4.0 e Silverlight. Ho apportato correzioni di bug al loro codice e reso anche più indipendente DAL.

http://expressiontree.codeplex.com/

+0

Grazie per aver raccolto questo progetto.Bel lavoro. –

+0

Ho appena scritto anche un provider LINQ, che trae ispirazione dal progetto (apparentemente inattivo) IQToolkit, per .NET 4.0. La ragione era che dovevo creare il mio provider LINQ-to-T-SQL per un progetto al lavoro, abilitando un DAL ADO.NET 2.0 per l'interrogazione LINQ. http://linqprovider.codeplex.com/ –

0

E 'utilizzato nel proxy client per ADO.NET Data Services per l'esecuzione di query LINQ contro un servizio RESTful e avere quella query serializzato ed eseguito sul servizio. Funziona alla grande nella mia esperienza.

Se si desidera verificarne l'utilità, provare uno ADO.NET Data Service.

+0

Penso che non stiamo parlando della stessa cosa. il progetto di serializzazione dell'albero expresion non utilizza il servizio WCF. – Tamir

+0

Stiamo parlando della stessa cosa. Questa è una * applicazione * di serializzazione dell'albero delle espressioni - l'albero delle espressioni serializzate viene utilizzato per creare un URL per il recupero dei dati RESTful. Ho pensato che ti sarebbe piaciuto vedere un'applicazione pratica della serializzazione dell'albero delle espressioni. (si spera che non si stiano serializzando gli alberi di espressione solo per il serializzarli :)) –

+0

gli esempi MS forniscono il progetto ExpressionTreeSerialization che non mostra alcun servizio WCF. prendono l'oggetto IQueryable, lo serializzano in un nuovo oggetto, inviano al server - indipendentemente da come (WS, WCF ect) e deserializzano di nuovo in IQueryable, eseguono la query e restituiscono l'IEnumerable al client. Penso che questa sia una cosa diversa dal progetto Astoria – Tamir

1

Ho scoperto che non è possibile serializzare chiusure personalizzate e sto attualmente scrivendo il mio serializzatore binario. Detto ciò, il fatto che la serializzazione delle espressioni non sia stata inclusa in .net 4.0 è estremamente deludente.

1

Sto usando questa libreria per serializzare/deserializzare le query "linq su oggetto". La biblioteca sta facendo abbastanza bene. Ci sono stati alcuni problemi, ma sono stato in grado di risolverli a causa dell'open source della libreria. Il problema che non è più supportato.

+0

Credo che questo a causa di esso si riferisce a LINQ a SQL con DataContext invece di ObjectContext (nell'implementazione di Entity Framework). In ogni caso, abbiamo risolto questo problema creando una query dinamica che lo sviluppatore lato client può creare oggetto "Query", aggiungere oggetto "Condition" alla sua collezione Query.Conditions etc 'molto simile al modo in cui è implementato in poche altre librerie (es. webdev) Grazie per aver condiviso. Tamir. – Tamir

1

Gli aspetti di sicurezza di questa libreria sono davvero spaventosi per me. È quasi come eseguire un codice arbitrario proveniente dalla configurazione o attraverso una richiesta.

+0

Questo è vero, ma con un'attenta architettura del tuo sistema non ti avvicinerai ad alcun problema come quello, ed i vantaggi della serializzazione di Expression sono numerosi, come la possibilità di creare espressioni logiche di predicato personalizzate e di memorizzarle per usi futuri, flessibili GUI , ecc. –

Problemi correlati