如何使用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....
但是,“哦,吉兹里克,我知道什么…”