0

Linq では、文字列に like 演算子を使用します。

var query = from c in ctx.Customers
            where c.City.StartsWith("L") && c.City.Contains("n")
            select c

整数のlinqでlike演算子を適用することは可能ですか?

私を助けてください。

4

3 に答える 3

1

いいえ。最初に文字列にキャストする必要があります(ここの回答も参照してください:Linqからエンティティへのintから文字列への変換に関する問題)。

SQLでは、次のようになります

DECLARE @StartsWith NVARCHAR
SET @StartsWith = '1'

SELECT * FROM Customers
WHERE (CAST CustomerId AS NVARCHAR(MAX)) LIKE @StartsWith + '%'

これはLINQで機能するはずです:

var query = from c in ctx.Customers
            where SqlFunctions.StringConvert((Decimal)c.CustomerId).Startswith("1")
            select c;

大きなテーブルがある場合、テーブル スキャンを実行する必要があるため、クエリが遅くなることに注意してください (int 列のインデックスは使用されません)。

于 2013-07-08T11:26:25.710 に答える
0

.Contains("/Integer/")) .StartsWith() または .EndsWith() も使用できます。

于 2013-07-08T11:14:52.563 に答える