2012-01-29 43 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.... 

但是, 「哦老天裏克,我怎麼知道......」