如何将此查询放入Linq(C#)?

时间:2012-06-21 03:30:51

标签: sql asp.net-mvc entity-framework tsql razor

我能做到:

 var codeStation = from Code in ent.Role 
                   where Code.Code.StartsWith("S_") 
                   select Code;

(ent:成为我的数据库实体)

这让我:

S_ANC
S_ATL
S_BNA
S_BOS
S_BRU
S_CLT
..... 
S_YXE
S_YXY
S_YYC
S_YYG
S_YYT
S_YYZ

如何完成以下SQL查询的等效操作?

SELECT Substring(Codes,3,6)   
FROM Role
WHERE Codes LIKE 'S%'

谢谢!

2 个答案:

答案 0 :(得分:3)

var codeStation = from Code in ent.Role 
                  where Code.Code.StartsWith("S_") 
                  select RoleName.Substring(3,6);

答案 1 :(得分:1)

您的LINQ查询可以select您想要的任何合法C#表达式,包括对字段名称的方法调用。所以,你可以这样做:

var codeStation = from Code in ent.Role 
                  where Code.Code.StartsWith("S_") 
                  select Code.RoleName.SubString(3,6);