от
Как вы выставляете запрос LINQ в качестве веб-службы asmx? Как правило, от бизнес-уровня, Могу ли я вернуть набирается
DataSet
или
DataTable
, которые могут быть сериализованы для транспорта со службами asmx. Как я могу сделать то же самое для запроса 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 

Как я могу получить результат запроса LINQ в DataSet
или
DataTable
? Кроме того, это в LINQ сериализуемые запроса, так что я могу выставить его в качестве веб-службы asmx?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

8 Ответы

0 голосов
от
Как вы выставляете запрос LINQ в качестве веб-службы asmx? Как правило, от бизнес-уровня, Могу ли я вернуть набирается
DataSet
или
DataTable
, которые могут быть сериализованы для транспорта со службами asmx. Как я могу сделать то же самое для запроса 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 

Как я могу получить результат запроса LINQ в DataSet
или
DataTable
? Кроме того, это в LINQ сериализуемые запроса, так что я могу выставить его в качестве веб-службы asmx?
0 голосов
от
Как упомянуто в вопрос,
IEnumerable
имеет способ
CopyToDataTable
:
IEnumerable
0 голосов
от
Чтобы выполнить этот запрос через класс
DataContext
, вам необходимо выполнить следующие действия:
MyDataContext db = new MyDataContext();
IEnumerable
0 голосов
от
Сделать набор объектов передачи данных, пара мапперов, и вернуть то, что по .на asmx. Вы никогда не должны подвергать объектов базы данных напрямую, а изменение в процедуре схемы распространяются на потребителей web-сервиса без вас замечая.
0 голосов
от
Если вы используете тип возвращаемого
IEnumerable
, вы можете вернуть переменную запроса напрямую.
0 голосов
от
Создать объект класса и возвращает
list(T)
запроса.
0 голосов
от
Если вы используете тип возвращаемого
IEnumerable
.Это помогает вернуть переменную запроса напрямую.
MyDataContext db = new MyDataContext();
IEnumerable
0 голосов
от
Для полноты картины, эти решения не работают для эф ядра (по крайней мере, не для EF ядро 2.2). Кастинг на
IEnumerable
...