0

Web サービスに DataView を返すメソッドがあり、

このサービスと通信するプロキシをセットアップしましたが、プロキシでこのメソッドを作成すると

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

「タイプ 'object[]' を 'System.Data.DataView' に暗黙的に変換できません。これをグーグル検索しましたが、どこにもアクセスできませんでした。助けていただければ幸いです。

ありがとう

4

1 に答える 1

2

これを行うことはできません - WCF サービスから DataView のようなものを返すことはできませんし、返すべきではありませ。WCF サービスは、動作を伴うオブジェクトではなく、データのみを返します(DataView には、ソート、フィルタリングなどの多くの動作が含まれます)。

代わりに、サービス コードで次のようにします。

  • SqlDataReader を使用してデータベースにクエリを実行する
  • 本当に必要な関連情報 (本当に興味のあるフィールドのみ) を DTO (データ転送オブジェクト) に解析します。
  • WCF サービスからリストを返す

ステップ 1 と 2 を自分で行う代わりに、Linq-to-SQL、NHibernate、またはその他の有能な ORM を使用して、データベース内の行/列からオブジェクトへの変換を処理することもできます。

于 2010-03-04T11:44:13.800 に答える