/ / Problema com consultas LINQ dinâmicas contendo colchetes - .net, sql, sql-server, linq, dynamic-linq

Problema com consultas LINQ dinâmicas contendo colchetes - .net, sql, sql-server, linq, dynamic-linq

Eu estou usando a biblioteca Dynamic Linq (este) no meu aplicativo .NET MVC para consultar um banco de dados do SQL Server. Está tudo funcionando bem até agora.

No entanto, a biblioteca Dynamic Linq fornece um erro "Expressão esperada" sempre que eu uso colchetes para designar nomes de coluna problemáticos contendo espaços ou hifens. aqui estão alguns exemplos:

var query = context.FetchIceCream().AsQueryable().Where("Chocolate = 1"); // This is fine
var query = context.FetchIceCream().AsQueryable().Where("[Rum and Raisin] = 1"); // This results in an "Expression expected" error

Eu não sou capaz de renomear nomes de coluna, entãoIsso não é uma opção - eu preciso ser capaz de resolver isso em código. Eu procurei alto e baixo para uma solução para isso, mas sem sucesso ... por favor, ajude a salvar minha sanidade mental!

Respostas:

2 para resposta № 1

Então eu acho que esta é a resposta então:
O nome que você usa na cláusula Where deve ser uma propriedade do objeto que você possui na coleção Queryable.


0 para resposta № 2

Eu recomendaria contra usando o LINQ dinâmico em tudo. É possível criar consultas passo a passo, apenas adicionando coisas ao IQueryable<T>.