2012-01-29 4 views

ответ

87

Вы можете использовать LINQ's .Select() для этого. В вашем случае это бы что-то вроде:

yourDbContext.MyTable.Where(u => u.UserId == 1).Select(u => u.Name); 
+1

Hii, я получил ошибку 'Can not implicitly convert type 'System.Linq.IQueryable ' to 'string'' для' db.Offices.Where (o => o.Offic eId == emp.OfficeId). Выберите (o => o.DepartmentId) 'любую идею? – guitarlass

+16

@guitarlass Если вы хотите получить один результат из своего запроса, вам нужно будет сделать что-то вроде: 'string s = db.Offices.Where (o => o.OfficeId == emp.OfficeId). Выберите (o => o.DepartmentId) .FirstOrDefault() ' –

2

Вы можете использовать выражение LINQ select и ссылки на имуществе, которое имеет отношение к вашему колонку Name.

4

Использование LINQ запрос должен выглядеть следующим образом:

public User GetUser(int userID){ 

return 
(
from p in "MyTable" //(Your Entity Model) 
where p.UserID == userID 
select p.Name 
).SingleOrDefault(); 

} 

Конечно, чтобы сделать это, вы должны иметь ADO.Net Entity модель в вашем решение.

3

Я полный нуб на Сущности, но это, как я хотел бы сделать это в теории ...

var name = yourDbContext.MyTable.Find(1).Name; 

Если это первичный ключ.

- ИЛИ -

var name = yourDbContext.MyTable.SingleOrDefault(mytable => mytable.UserId == 1).Name; 

- ИЛИ -

Для всего Колонка:

var names = yourDbContext.MyTable 
.Where(mytable => mytable.UserId == 1) 
.Select(column => column.Name); //You can '.ToList();' this.... 

Но "О Боже Рик, Что я знаю ..."

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