動的 LINQ クエリを使用して SQL データベースにクエリを実行しようとしていますが、Where 句で、TEXT 型のフィールドを使用して '=' 条件を評価する必要があります。
今、私はこれを持っています:
var result = DBCon.PcInValue
.Where(String.Format("InputName = @0 and InputValue) {0} @1", f.Condition), f.Field, f.Value)
.Select("new(OrderNum, OrderLine)");
TEXT データ型では等号演算子を使用できないため、これは機能しません。タイプ TEXT のフィールドは「InputValue」です。私はそれを次のように変換しようとしました:
var result = DBCon.PcInValue
.Where(String.Format("InputName = @0 and Convert(nvarchar(100), InputValue) {0} @1", f.Condition), f.Field, f.Value)
.Select("new(OrderNum, OrderLine)");
しかし、これはサポートされていないようです。
どうすればこれを行うことができるかについて、誰にも手がかりがありますか?
編集: 次の SQL 構文は問題なく動作しますが、Dynamic LINQ API を使用してこれが可能かどうかはわかりません。
SELECT [t0].[OrderNum], [t0].[OrderLine]
FROM [PcInValue] AS [t0]
WHERE ([t0].[InputName] = 'OpenWidthFt') AND (Convert(nvarchar(100), [t0].[InputValue]) = '10')