2012-04-18 4 views
5

Czy można użyć zapytania dynamicznego PetaPoco, aby zwrócić Json w ASP ASP WebAPI?Powrót Json przy użyciu PetaPoco Dynamic i WebAPI

WebAPI // Kontroler

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; 
    } 

} 

Otrzymuję błąd

Być XML serializacji, typy, które dziedziczą z IEnumerable musi posiadać implementację add (System.Object)

+0

Nigdy nie używany PetaPoco, ale czy próbowałeś konwersji zwracanych obiektów dynamicznych przypadkach JSONObject lub JsonArray? http://goo.gl/BaIx5 – cecilphillip

Odpowiedz

0

Ponieważ PetaPoco zwraca List<dynamic>, prawdziwą odpowiedzią jest tutaj "Czy WebApi zwróci JSONA z listy"?

Odpowiedź brzmi: tak, ale WebApi ma rzecz o nazwie Content Negotiation niż zwracanie Json lub XML na podstawie żądania.

Spróbuj żądania JSON lub spróbuj tego XML:

// Show all Branches 
    return (IEnumerable<dynamic>)db.Query<dynamic>("SELECT * FROM Branches");