2012-06-21 6 views
1

я могу сделать:Как поставить этот запрос в Linq (C#)?

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

(ЛОР: быть моей Entity для моей базы данных)

Это дает мне:

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 . –

Смежные вопросы