WebサービスがDataTableを返す場所はどこですか?WebサービスでPetaPocoを使用する
すべてのサンプルはdb/Connectionオブジェクトを参照しています。
どのポインタも高く評価されています。
ありがとうございます!
WebサービスがDataTableを返す場所はどこですか?WebサービスでPetaPocoを使用する
すべてのサンプルはdb/Connectionオブジェクトを参照しています。
どのポインタも高く評価されています。
ありがとうございます!
DataTableを返す必要はありません。それはADO.NETの考え方です。代わりに、ポコス(あなたのデータを表すクラス)のリストを返すことができます。ここでは、メインPetapoco help page at Topten Softwareからの例です:
// Create a PetaPoco database object
var db=new PetaPoco.Database("connectionStringName");
// Show all articles
foreach (var a in db.Query<article>("SELECT * FROM articles"))
{
Console.WriteLine("{0} - {1}", a.article_id, a.title);
}
この例では、「記事は、」このようなプレーンなC#のオブジェクトです:
public class article
{
public long article_id { get; set; }
public string title { get; set; }
public DateTime date_created { get; set; }
public bool draft { get; set; }
public string content { get; set; }
}
Webサービスからこれを返すために。それはPetapocoとは関係ありません。それはあなたにリストを与えました
ここにきて正確に言いました - すばらしい答えガレス。 IEnumerable
これは、Webサービスレベルでpocoを定義し、それらをシリアライズしたり、odataサービスの設定を設定したり、今後のasp.netデータAPIを使用したりする必要がありますが、Webサービスを軽量(変更なし)にして、それはクライアントにpoco'fiedされています!理想的ではありませんが、dbはsybaseです(最後にチェックして、ポコはそれで動作しませんでした)、クエリの種類が多すぎます。データセットはかなり大きく、ダース+テーブルの800+カラムでかなりわかります共通のスキーマを持ち、アプローチに必要なものだけを取る – Kumar
@Garethは、あなたが完全なを取得するためにPOCOのを使用する必要が指摘したようにペタポコの使用。基本的に各POCOは、テーブルの列とまったく同じように構造化されたクラスです。いくつかのSqlを実行し、PetaPocoは結果をPOCOの列挙可能なセットにマップします。 Webサービスコールでこれを返すことができ、WCFは残りの部分を処理します。 – Jeremy
Webサービス実装では、petapocoを使用してsybaseデータをpocosに変換し、ポコスをWebサービスのコンシューマに返します。 – cdaq