2012-04-18 9 views
5

Pet.netの動的クエリを使用してASP.net WebAPIのJsonを返すことはできますか?PetsonPoco Dynamic&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を継承タイプが追加の実装を持っている必要があります(System.Objectの)

+0

私はPetaPocoを使用したことがありませんが、あなたはダイナミックJsonObjectまたはJsonArrayインスタンスに返されたオブジェクトを変換しようとしましたか? http://goo.gl/BaIx5 – cecilphillip

答えて

0

PetaPocoがList<dynamic>を返すので、ここで実際の答えは"WebApiはリストからJsonを返すことができる"

答えはイエスですが、WebApiにはリクエストに基づいて返されるJsonやXMLよりもContent Negotiationというものがあります。

は、JSONを要求して試してみてくださいまたはXMLのためにこれを試してみてください。

// Show all Branches 
    return (IEnumerable<dynamic>)db.Query<dynamic>("SELECT * FROM Branches"); 
関連する問題