Đây là truy vấn sql của tôi như sauChọn top 1 kết quả từ subquery trong LINQ to SQL
select enq_Id,enq_FromName,
enq_EmailId,
enq_Phone,
enq_Subject,
enq_Message,
enq_EnquiryBy,
enq_Mode,
enq_Date,
ProductId,
(select top 1 image_name
from tblProductImage as i
where i.product_id=p.product_Id) as imageName,
p.product_Name,
p.product_code
from tblEnquiry as e
inner join tblProduct as p ON e.ProductId=p.product_Id
where ProductId is not null
Và tôi cố gắng để chuyển đổi câu lệnh SQL này vào LINQ như sau
var result = from e in db.tblEnquiries
join d in db.tblProducts
on e.ProductId equals d.product_Id
where e.ProductId != null
orderby e.enq_Date descending
select new {
e.enq_Id,
e.enq_FromName,
e.enq_EmailId,
e.enq_Phone,
e.enq_Subject,
e.enq_Message,
e.enq_EnquiryBy,
e.enq_Mode,
e.enq_Date,
d.product_Id,
d.product_Name,
imageName = (from soh in db.tblProductImages
where soh.product_id == e.ProductId
select new { soh.image_name }).Take(1)
};
Nhưng vấn đề hiến của mình tôi imageName
trong danh sách lồng nhau nhưng tôi muốn rằng imageName
giống như một chuỗi.
Tôi cũng kiểm tra bằng cách sử dụng đồng hồ nhanh và trong hình ảnh sau đây bạn có thể thấy rằng imageName
xuất hiện trong danh sách bên trong.
vẫn hiển thị trong cột chế độ xem lưới {image_name = f55c1573_a658_420e_9d33_2a8d997bbd51.jpg} thay vì f55c1573_a658_420e_9d33_2a8d997bbd51.jpg. Tôi trực tiếp đưa ra kết quả đó cho nguồn dữ liệu để xem lưới – rahularyansharma
@rahularyansharma, vui lòng xem bản cập nhật nhỏ - đó là vì bạn đã tạo loại ẩn danh cho kết quả truy vấn con: 'new {soh.image_name}'. Bạn chỉ cần trả về giá trị chuỗi. –
Cảm ơn! các công trình của nó! – rahularyansharma