Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用PetaPoco Dynamic返回Json&;WebAPI_C#_Json_C# 4.0_Asp.net Mvc 4_Petapoco - Fatal编程技术网

C# 使用PetaPoco Dynamic返回Json&;WebAPI

C# 使用PetaPoco Dynamic返回Json&;WebAPI,c#,json,c#-4.0,asp.net-mvc-4,petapoco,C#,Json,C# 4.0,Asp.net Mvc 4,Petapoco,是否可以使用PetaPoco动态查询在ASP.net WebAPI中返回Json //WebAPI控制器 public class BranchController : ApiController { public IEnumerable<dynamic> Get() { // Create a PetaPoco database object var db = new PetaPoco.Database("DefaultConnect

是否可以使用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;
    }

}
公共类BranchController:ApicController
{
公共IEnumerable Get()
{
//创建PetaPoco数据库对象
var db=新的PetaPoco.Database(“DefaultConnection”);
//显示所有分支
var b=db.Query(“从分支中选择*).ToList();
返回b;
}
}
我收到一个错误

要使XML可序列化,从IEnumerable继承的类型必须具有Add(System.Object)的实现


由于PetaPoco返回一个
列表
,这里真正的答案是“WebApi可以从列表返回Json吗?”

答案是肯定的,但是WebApi有一个东西叫做基于请求返回Json或XML

请尝试请求Json或尝试以下XML请求:

    // Show all Branches
    return (IEnumerable<dynamic>)db.Query<dynamic>("SELECT * FROM Branches");
//显示所有分支
返回(IEnumerable)db.Query(“从分支中选择*);

JSON.Net直接处理这个问题,所以我不得不添加一个自定义格式化程序


这是我用来解决这个问题的MSDN文章:

我从未使用过PetaPoco,但您是否尝试过将返回的对象转换为动态JsonObject或JsonArray实例?