5

PetaPoco 動的クエリを使用して、ASP.net WebAPI で Json を返すことは可能ですか?

//WebAPI コントローラー

public class BranchController : ApiController
{
    public IEnumerable<dynamic> Get()
    {
        // Create a PetaPoco database object
        var db = new PetaPoco.Database("DefaultConnection");

        // Show all Branches
        var b = db.Query<dynamic>("SELECT * FROM Branches").ToList();

        return b;
    }

}

エラーが表示されます

XML シリアル化可能にするには、IEnumerable から継承する型に Add(System.Object) の実装が必要です。

4

2 に答える 2

2

JSON.Net はこれをすぐに処理できるため、カスタム フォーマッタを追加する必要がありました。

これは、問題を解決するために使用した MSDN の記事です: http://code.msdn.microsoft.com/Using-JSONNET-with-ASPNET-b2423706

于 2012-04-19T18:11:14.627 に答える
0

List<dynamic>PetaPoco はここで本当の答えを返すので、 「WebApi はリストから Json を返すことができますか? 」

答えはイエスですが、WebApi にはコンテンツ ネゴシエーションと呼ばれるものがあり、リクエストに基づいて Json または XML を返します。

Json をリクエストするか、XML に対してこれを試してください。

    // Show all Branches
    return (IEnumerable<dynamic>)db.Query<dynamic>("SELECT * FROM Branches");
于 2012-04-19T14:46:22.487 に答える