Есть ли способ получить все содержимое одного столбца с помощью Entity Framework 4? То же самое, как этот SQL Query:Как выбрать один столбец с Entity Framework?
SELECT Name FROM MyTable WHERE UserId = 1;
Есть ли способ получить все содержимое одного столбца с помощью Entity Framework 4? То же самое, как этот SQL Query:Как выбрать один столбец с Entity Framework?
SELECT Name FROM MyTable WHERE UserId = 1;
Вы можете использовать LINQ's .Select()
для этого. В вашем случае это бы что-то вроде:
yourDbContext.MyTable.Where(u => u.UserId == 1).Select(u => u.Name);
Вы можете использовать выражение LINQ select
и ссылки на имуществе, которое имеет отношение к вашему колонку Name.
Использование 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 модель в вашем решение.
Я полный нуб на Сущности, но это, как я хотел бы сделать это в теории ...
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....
Но "О Боже Рик, Что я знаю ..."
Hii, я получил ошибку 'Can not implicitly convert type 'System.Linq.IQueryable' to 'string'' для' db.Offices.Where (o => o.Offic eId == emp.OfficeId). Выберите (o => o.DepartmentId) 'любую идею? –
guitarlass
@guitarlass Если вы хотите получить один результат из своего запроса, вам нужно будет сделать что-то вроде: 'string s = db.Offices.Where (o => o.OfficeId == emp.OfficeId). Выберите (o => o.DepartmentId) .FirstOrDefault() ' –