Hỏi về truy vấn join trong Linq

Chào mọi người,em đang học về Linq có apply vào 1 project cụ thể theo mô hình 3 lớp,ở đây e sử dụng Linq to SQL,theo mô hình dữ liệu e có 2 table là

{
    String ProductID;
    String ProductName;
}
``` và một table 
```ProductInfo
{
    String InfoID;
    String ProductID;
    Double Price;
    DateTime CreateDate;
}```

Ở lớp BUS em tạo ra 2 class tương ứng với 2 dbml kia,bây giờ em cần ở lớp `ProductBUS` một phương thức để trả về một `IEnumerable<ProductViewModel> ` đối tượng : 
```ProductViewModel
{
    String ProductID;
    String ProductName;
    Double Price;
    DateTime CreateDate;
}``` 
để đổ dữ liệu lên Datagridview trên lớp GUI,khi sử dụng truy vấn join thì phải làm thế nào ạ ? LINQ to SQL nó không cho trả về Anonymous Type ,cảm ơn mọi người :smiley:

Gợi ý nha bạn

var List = from p in Product
               from q in ProductInfo
              where p. ProductID = q.ProductID
              select new { p.ProductID, p.ProductNam,q.Price,q.CreateDate }

List trả về kiểu IEnumerable như bạn mong muốn
Để hiểu rõ hơn về linq to sql bạn lên google search 101 example linq sẽ có nhiều cái

em muốn 1 hàm trả về 1 IEnumerable<new object> để trên lớp giao diện gọi phương thức này,còn kiểu var thì nó chỉ có khả năng hiển thị lên thôi chứ nó ko trả về đc :frowning:

Có cách này hơi củ chuối chưa tìm ra cách hay hơn nếu có thể bạn tìm hiểu thử

var List = from p in Product
               from q in ProductInfo
              where p. ProductID = q.ProductID
              select new { p.ProductID, p.ProductNam,q.Price,q.CreateDate }


List<ProductViewModel> LProductViewModel = new List<ProductViewModel>();

foreach(var q in List)
{
    ProductViewModel a  = new ProductViewModel();
    a.ProductID = q.ProductID;
    a.ProductName = q.ProductName;
    a.Price = q.Price;
    a.CreateDate = q.CreateDate;
    LProductViewModel.add(a);
}
return LProductViewModel ;



hê hê đợi tí e test coi sao đã,tks bro :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?