如何使用entity frameworkselect单个列?

有没有办法使用Entity Framework 4获取单个列的全部内容? 像这样的SQL查询:

SELECT Name FROM MyTable WHERE UserId = 1; 

你可以使用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(); } 

当然要做到这一点,你需要在你的解决scheme中有一个ADO.Net实体模型。

您可以使用LINQ select子句并引用与您的Name列相关的属性。

我是一个完全的实体noob但这是我会怎么做的理论…

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

但是,“哦,吉兹里克,我知道什么…”