Как я преобразовываю DataTable в IDatareader?

Почему бы не использовать jquery для получения значения gdpr_privacy? Или вы можете написать onsubmit функцию

func onsubmit(){
  let gdpr_privacy = $('#gdpr_privacy').val();
  $.post('api/',gdpr_privacy)
  // todo 
}
12
задан Fabian Steeg 26 January 2009 в 13:07
поделиться

4 ответа

Просто назовите CreateDataReader на своем DataTable

30
ответ дан 2 December 2019 в 05:16
поделиться

Нет никакого существующего класса, который сделает это для Вас. Но Вам не должно быть трудно записать сериализуемый класс, который реализует IDataReader и является оберткой вокруг Вашего существующего DataTable.

Править: Вы могли бы найти легче наследоваться DbDataReader (я думаю, проверяю базовый класс SqlDataReader в обозревателе объектов). Это обеспечивает часть интерфейсной реализации для Вас. Но да, это - все еще довольно много тусклого кода.

0
ответ дан 2 December 2019 в 05:16
поделиться

Вы не можете. DataReader и DataTable являются двумя разными вещами.

Так как DataReader позволяет Вам считать данные как поток, я действительно не вижу, почему Вы хотите сделать это клиентское.

DataReader обычно используется, чтобы считать данные с базы данных и добавить логику для заполнения списка объектов или DataTable. Так лучше делать большую часть бизнес-логики, которая имеет отношение к зданию DataTable на веб-сервисе, передайте его клиенту как веб-сервис и работайте с другими функциями ADO.NET там для большего количества бизнес-логики.

Возможно, можно ли быть более конкретны по поводу того, почему Вы действительно хотите DataReader?

-2
ответ дан 2 December 2019 в 05:16
поделиться

DataReader является самым быстрым способом считать хранилище данных, но только если определенные условия соблюдены:

  1. Данные должны быть считаны во вперед только способ.
  2. Данные должны быть только для чтения.

Даже если бы эти условия соблюдает Ваш сценарий, DataReader представляет Связанное Хранилище данных, что означает, что необходимо было бы сохранить соединение открытым в течение времени, когда DataReader передается по сети и пока вызываемый метод в другом конце не возвращает своего рода ответ.

Поэтому это - мое мнение, что активный DataReader никогда не должен раздаваться через различные слои и приложения. Я очень извлек бы данные в другое хранилище данных или набор сначала и сразу избавился бы от DataReader.

1
ответ дан 2 December 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: