2012-01-29 22 views

Trả lời

87

Bạn có thể sử dụng LINQ's .Select() để làm điều đó. Trong trường hợp của bạn nó sẽ đi một cái gì đó như:

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

Hii, tôi gặp lỗi 'Không thể chuyển đổi loại ngầm' System.Linq.IQueryable 'thành' string'' cho 'db.Offices.Where (o => o.Offic eId == emp.OfficeId). Chọn (o => o.DepartmentId) 'bất kỳ ý tưởng nào? – guitarlass

+16

@guitarlass Nếu bạn muốn nhận được một kết quả duy nhất từ ​​truy vấn của mình thì bạn sẽ cần phải làm một việc như: 'string s = db.Offices.Where (o => o.OfficeId == emp.OfficeId) .Select (o => o.DepartmentId) .FirstOrDefault() ' –

2

Bạn có thể sử dụng mệnh đề LINQ select và tham chiếu thuộc tính có liên quan đến cột Tên của bạn.

4

Sử dụng LINQ truy vấn của bạn sẽ giống như thế này:

public User GetUser(int userID){ 

return 
(
from p in "MyTable" //(Your Entity Model) 
where p.UserID == userID 
select p.Name 
).SingleOrDefault(); 

} 

Tất nhiên để làm được điều này bạn cần phải có một mô hình ADO.Net Entity trong của bạn dung dịch.

3

tôi là một Noob đầy đủ về Entity nhưng đây là cách tôi sẽ làm điều đó trong lý thuyết ...

var name = yourDbContext.MyTable.Find(1).Name; 

Nếu đó là một Primary Key.

- HOẶC -

var name = yourDbContext.MyTable.SingleOrDefault(mytable => mytable.UserId == 1).Name; 

- HOẶC -

Đối với toàn bộ cột:

var names = yourDbContext.MyTable 
.Where(mytable => mytable.UserId == 1) 
.Select(column => column.Name); //You can '.ToList();' this.... 

Nhưng "oh Geez Rick, tôi có biết gì ..."

Các vấn đề liên quan