/ / Problema con query LINQ dinamiche contenenti parentesi - .net, sql, sql-server, linq, dynamic-linq

Problema con query LINQ dinamiche contenenti parentesi - .net, sql, sql-server, linq, dynamic-linq

Sto usando la libreria dinamica Linq (questo) nella mia applicazione .NET MVC per interrogare un database SQL Server. Finora tutto funziona bene.

Tuttavia, la libreria dinamica di Linq fornisce un errore di "espressione prevista" ogni volta che utilizzo parentesi quadre per designare nomi di colonne fastidiose contenenti spazi o trattini. Ecco alcuni esempi:

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

Non sono in grado di rinominare nomi di colonne, quindiche non è un'opzione - ho bisogno di essere in grado di risolvere questo in codice. Ho cercato in alto e in basso per una soluzione a questo, ma senza alcun risultato ... per favore aiuta a salvare la mia sanità mentale!

risposte:

2 per risposta № 1

Quindi penso che questa sia la risposta allora:
Il nome che usi nella clausola Where deve essere una proprietà dell'oggetto che hai nella collezione Queryable.


0 per risposta № 2

Vorrei sconsigliare l'uso di LINQ dinamico. È possibile creare le domande passo dopo passo aggiungendo semplicemente le cose al IQueryable<T>.