Dưới đây là một biểu thức truy vấn:
var users = (from a in dc.Benutzer
select new { a.Name, a.Age, a.Occupation }).ToList();
Hoặc trong ký hiệu dấu chấm:
var users = dc.Benutzer.Select(a => new { a.Name, a.Age, a.Occupation })
.ToList();
Lưu ý rằng điều này trả về một danh sách của một anonymous type chứ không phải là trường hợp của Benutzer
. Cá nhân tôi thích cách tiếp cận này hơn việc tạo ra một danh sách các thể hiện một phần dân cư, vì vậy bất cứ ai xử lý các cá thể một phần cần phải kiểm tra xem chúng có xuất phát từ đâu để tìm ra cái gì thực sự ở đó không.
EDIT: Nếu bạn thực sự muốn xây dựng trường hợp của Benutzer
, và LINQ không cho phép bạn làm như vậy trong một truy vấn (Tôi không chắc chắn lý do tại sao), bạn luôn có thể làm:
List<Benutzer> users = dc.Benutzer
.Select(a => new { a.Name, a.Age, a.Occupation })
.AsEnumerable() // Forces the rest of the query to execute locally
.Select(x => new Benutzer { Name = x.Name, Age = x.Age,
Occupation = x.Occupation })
.ToList();
tức là sử dụng loại ẩn danh giống như một DTO. Lưu ý rằng các đối tượng Benutzer
trả về sẽ không được liên kết với ngữ cảnh.
Nguồn
2009-10-09 08:45:44
Bạn đã nhập 'Benutzer'? Bạn đã bao giờ xem xét sử dụng C# đã bản địa hóa chưa? 'Liste benutzer = (aus a in dc.Benutzer wähle a) .ZuListe();';) –