我正在尝试合并此SQL查询的LINQ等价物。 数据库是SQL Server。
SELECT * FROM Party
WHERE Partyname LIKE '[a-m]%z'
此查询将返回partyname列可以以-m之间的任何字母开头且必须以字母z结尾的所有记录。
如果我想做LINQ等效,我该怎么做? 我试图以这种方式做到这一点,但显然还有更好的方法。
Parties.Where(p => (p.Partyname.StartsWith("a") || p.Partyname.StartsWith("b") ||
p.Partyname.StartsWith("c")) && p.Partyname.EndsWith("Z"))
.Select(x => new { x.Party_id, x.Partyname, x.Party_no, x.Reference, x.Input_dt })
注意:Linqpad复数表的名称。
答案 0 :(得分:0)
也许你可以使用linq和常规
之间的组合System.Text.RegularExpressions.Regex searchTerm =
new System.Text.RegularExpressions.Regex(@"Visual (Basic|C#|C\+\+|Studio)");
var queryMatchingFiles =
from file in fileList
where file.Extension == ".htm"
let fileText = System.IO.File.ReadAllText(file.FullName)
let matches = searchTerm.Matches(fileText)
where matches.Count > 0
select new
{
name = file.FullName,
matchedValues = from System.Text.RegularExpressions.Match match in matches
select match.Value
};