6

.NETMVCアプリケーションでDynamicLinqLibrary(これ)を使用してSQLServerデータベースにクエリを実行しています。これまでのところ、すべて正常に機能しています。

ただし、スペースやハイフンを含む厄介な列名を角かっこで指定すると、DynamicLinqLibraryで「式が必要です」というエラーが発生します。ここではいくつかの例を示します。

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

列名の名前を変更できないため、これはオプションではありません。これをコードで整理できるようにする必要があります。私はこれに対する解決策を高低で探しましたが、役に立ちませんでした...私の正気を救うのを手伝ってください!

4

2 に答える 2

2

したがって、これが答えだと思います。
Where 句で使用する名前は、Queryable コレクションにあるオブジェクトのプロパティである必要があります。

于 2012-08-09T08:40:44.483 に答える
0

Dynamic LINQ をまったく使用しないことをお勧めします。に何かを追加するだけで、段階的にクエリを作成することができIQueryable<T>ます。

于 2012-08-08T15:44:46.890 に答える