[英]queries in entity framework
我必須使用此查詢獲取前 20 行,而 like 子句不起作用。 誰能告訴我為什么/幫我找到解決方案?
var zipcodes = (from results in db1.ZipCodes1
where results.CityType == "D" && results.ZIPCode like '%ZC %'
select new Ajaxresults
{
ZIPCode= results.ZIPCode,
CityName = results.CityName,
StateAbbr = results.StateAbbr,
StateName = results.StateName
}).GroupBy(o => o.ZIPCode);
代碼應如下所示:
var zipcodes = (from results in db1.ZipCodes1
where results.CityType == "D" && results.ZIPCode.Contains("ZC ")
select new Ajaxresults
{
ZIPCode= results.ZIPCode,
CityName = results.CityName,
StateAbbr = results.StateAbbr,
StateName = results.StateName
}).GroupBy(o => o.ZIPCode).Take(20);
到 select 前 20 行,應使用 LINQ Take
運算符
var zipcodes = (from results in db1.ZipCodes1
...
).Take(20);
String.Contains 方法會被翻譯成對應的 SQL LIKE 操作符。 您可以將查詢更改為以下內容:
var zipcodes = (from results in db1.ZipCodes1
where results.CityType == "D"
&& results.ZIPCode.Contains("ZC ")
select new Ajaxresults
{
ZIPCode= results.ZIPCode,
CityName = results.CityName,
StateAbbr = results.StateAbbr,
StateName = results.StateName
}).GroupBy(o => o.ZIPCode);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.