2012-06-21 46 views
1

我能够做到:如何将此查询放入Linq(C#)?

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%' 

谢谢!

回答

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

我不能因为我需要的变种是一个IQueryable的而不是IQueryable的。 –

+0

我改变了主意并使用了IQueryable ,谢谢! –

1

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

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

我不能因为我需要var是IQueryable 而不是IQueryable 。 –