Linq では、文字列に like 演算子を使用します。
var query = from c in ctx.Customers
where c.City.StartsWith("L") && c.City.Contains("n")
select c
整数のlinqでlike演算子を適用することは可能ですか?
私を助けてください。
Linq では、文字列に like 演算子を使用します。
var query = from c in ctx.Customers
where c.City.StartsWith("L") && c.City.Contains("n")
select c
整数のlinqでlike演算子を適用することは可能ですか?
私を助けてください。
いいえ。最初に文字列にキャストする必要があります(ここの回答も参照してください: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 列のインデックスは使用されません)。
.Contains("/Integer/")) .StartsWith() または .EndsWith() も使用できます。