Làm cách nào để hiển thị truy vấn LINQ dưới dạng dịch vụ web ASMX? Thông thường, từ tầng nghiệp vụ, tôi có thể trả về một số đã nhập DataSet
hoặc DataTable
có thể được tuần tự hóa để vận chuyển qua ASMX.Điền một DataSet hoặc DataTable từ một tập hợp kết quả truy vấn LINQ
Làm cách nào để tôi có thể thực hiện tương tự cho truy vấn LINQ? Có cách nào để điền một số DataSet
hoặc DataTable
đã nhập qua truy vấn LINQ không?
public static MyDataTable CallMySproc()
{
string conn = "...";
MyDatabaseDataContext db = new MyDatabaseDataContext(conn);
MyDataTable dt = new MyDataTable();
// execute a sproc via LINQ
var query = from dr
in db.MySproc().AsEnumerable
select dr;
// copy LINQ query resultset into a DataTable -this does not work !
dt = query.CopyToDataTable();
return dt;
}
Làm thế nào tôi có thể nhận được tập kết quả của một truy vấn LINQ vào một DataSet
hoặc DataTable
? Ngoài ra, truy vấn LINQ có thể nối tiếp để tôi có thể hiển thị nó dưới dạng dịch vụ web ASMX không?
Để mọi người tự hỏi tại sao CopyToDataTable() không hoạt động trên máy của họ: Chức năng này không phải là một phần của .NET 3.5 SP1 cũng không phải của .NET 4.0; nó đã bị hạn chế đối với IEnumerable và không hoạt động đối với IEnumerable - http://bit.ly/dL0G5 –
motto