Existe uma maneira de desserializar expressões em C #, gostaria de armazenar expressões em um banco de dados e carregá-los em tempo de execução.
Existe uma maneira de desserializar expressões em C #, gostaria de armazenar expressões em um banco de dados e carregá-los em tempo de execução.
Respostas:
Continuei trabalhando na biblioteca que foi mencionada por Serializing and Deserializing Expression Trees in C #
Parece que o projeto foi abandonado (2008), mas fiz alguns trabalhos nele e agora ele funciona com .NET 4.0 e Silverlight. Fiz correções de bugs em seu código e também o tornei mais independente de DAL.
Outra opção é o projeto Expression Tree Serialization em code.msdn.com - parece ser mais o que é necessário aqui?
UPD: agora http://archive.msdn.microsoft.com/exprserialization
Existe um projeto no GitHub / Nuget chamado MetaLinq que visa tornar mais fácil trabalhar com árvores de expressão.
Ele converte entre Expressões normais e 'EditableExpressions' que são mutáveis e totalmente serializáveis, então podem ser usadas com Json, Xml, Binary etc.
Verifique também esta postagem do blog para obter mais informações.
dê uma olhada em minha nova biblioteca Serialize.Linq . Ele serializa expressões linq para json, xml e binário.
Não totalmente; no entanto, o exemplo Dynamic LINQ pode ajudar um pouco. Você certamente pode serializar uma expressão em uma string (até certo ponto - os genéricos parecem um pouco malucos), mas não há um analisador embutido.
Os serviços WCF RIA permitem a serialização IQuerayble<T>
Eu estava trabalhando em um projeto para serializar expressões. Está tudo bem e você pode usá-lo. http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable