2012-01-29 46 views

回答

87

您可以使用LINQ的.Select()来做到这一点。在你的情况下,它会去是这样的:

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

嗨,我得到一个错误'不能隐式转换类型'System.Linq.IQueryable '为'db.Offices.Where(o => o.Offic eId == emp.OfficeId)。选择(o => o.DepartmentId)'有什么想法? – guitarlass 2014-07-31 05:09:51

+16

@guitarlass如果你想从你的查询中得到一个单一的结果,那么你需要做一些事情:'string s = db.Offices.Where(o => o.OfficeId == emp.OfficeId).Select(o => o.DepartmentId).FirstOrDefault()' – 2014-07-31 07:22:27

2

你可以使用LINQ select条款和参考,涉及到您的姓名列的属性。

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实体模型在解。

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

但是, “哦老天里克,我怎么知道......”