Как выбрать один столбец с Entity Framework?



есть ли способ получить все содержимое одного столбца с помощью Entity Framework 4? То же самое, как этот SQL-запрос:



SELECT Name FROM MyTable WHERE UserId = 1;
796   4  

4 ответов:

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

yourDbContext.MyTable.Where(u => u.UserId == 1).Select(u => u.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 модель сущности в вашем решении.

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

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

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

вы можете использовать LINQ select предложение и ссылка на свойство, которое относится к столбцу вашего имени.

Comments

    Ничего не найдено.