gpt4 book ai didi

asp.net-web-api - ASP.NET Web API IQueryable 挑战

转载 作者:行者123 更新时间:2023-12-04 23:06:50 27 4
gpt4 key购买 nike

我想在我的 Controller 中使用以下模式:

api/{controller}/{id}/{collection}



示例:api/customers/123/addresses

但我想回 IQueryable Of T来自相应的 Get 操作。我想要这样的东西(简化):
public IQueryable<????> GetCollection(int id, string collection)  
{
switch(collection)
{
case "addresses":
return _addresses.AsQueryable();
break;
case "orders":
return _orders.AsQueryable();
break;
default:
throw new Exception(NotSupported);
}
}

这能做到吗?
推荐的方法是什么?

最佳答案

@SLacks 是正确的,您应该返回 IQueryable<object>IQueryable<someBaseType>如果你可以的话。

您得到的错误是 DataContract Serializer 的一个函数。所以你有几个选择。

  • 切换到支持所需内容的备用 xml 序列化程序。
  • 切换到绕过相关序列化程序的输出形式(比如使用 JSON.net 的 JSON)
  • 教数据协定序列化器如何使用
  • 序列化您的对象

    对于“教学”选项,您可以通过两种方式进行教学。

    (A) 杠杆 [KnownType(typeof(...))]属性。这是 a post on the KnownType attribute .它适用于 WCF,但应该可以帮助您入门。

    (B) 使用数据契约解析器。此 post should get you started .

    关于asp.net-web-api - ASP.NET Web API IQueryable<T> 挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10113787/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com