Возврат Dataview в службе WCF - PullRequest
0 голосов
/ 04 марта 2010

У меня есть метод в моем веб-сервисе, который возвращает DataView,

Я настроил прокси, который общается с этим сервисом, но когда я делаю этот метод в прокси

public DataView GetSales(DateTime SalesDate)
{
    ServiceClient client = new ServiceClient();
    return client.GetSalesForDay(SalesDate);             
}

Я получаю сообщение об ошибке «Не удается неявно преобразовать тип« object [] »в« System.Data.DataView », я пробовал поискать его в Google, но нигде не получал, любая помощь будет очень признательна.

Спасибо

1 Ответ

2 голосов
/ 04 марта 2010

Вы не можете сделать это - вы не можете и не должны возвращать что-то вроде DataView из службы WCF ever . Служба WCF будет только когда-либо возвращать данные - не объекты с поведением (DataView содержит много поведения - сортировка, фильтрация и т. Д.).

Вместо этого в своем сервисном коде сделайте следующее:

  • запрос к вашей базе данных с SqlDataReader
  • разбирает релевантную информацию, которая вам действительно нужна (только те поля, которые вас действительно интересуют) в DTO (объекты передачи данных) - в основном, простые объекты, не содержащие ничего, кроме свойств "продажи", которые важны для вас
  • вернуть список из вашей службы WCF

Вместо того, чтобы выполнять шаги 1 и 2 самостоятельно, вы также можете использовать Linq-to-SQL, NHibernate или любой другой способный ORM для обработки этого преобразования из строки / столбца в базе данных в объект для вас.

...