Как вы выставляете запрос LINQ в качестве веб-службы ASMX? Обычно из бизнес-уровня я могу вернуть напечатанный DataSet
или DataTable
, который может быть сериализован для транспортировки по ASMX.Заполнение DataSet или DataTable из набора результатов запроса LINQ
Как я могу сделать то же самое для запроса LINQ? Есть ли способ заполнить типизированный DataSet
или DataTable
через запрос LINQ?
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;
}
Как я могу получить результирующий набор запроса LINQ в DataSet
или DataTable
? В качестве альтернативы, является ли запрос LINQ сериализуемым, чтобы я мог представить его как веб-службу ASMX?
Всем интересно, почему CopyToDataTable() не работает на своем компьютере: эта функция не является частью .NET 3.5 SP1 и не будет .NET 4.0; он был ограничен IEnumerable и не работает для IEnumerable - http://bit.ly/dL0G5 –
motto
2010-02-02 22:00:11