Có cách nào để lấy toàn bộ nội dung của một cột bằng Entity Framework 4 không? Giống như truy vấn SQL này:Cách chọn một cột đơn với Entity Framework?
SELECT Name FROM MyTable WHERE UserId = 1;
Có cách nào để lấy toàn bộ nội dung của một cột bằng Entity Framework 4 không? Giống như truy vấn SQL này:Cách chọn một cột đơn với Entity Framework?
SELECT Name FROM MyTable WHERE UserId = 1;
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);
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.
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.
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ì ..."
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
@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() ' –