我想在我的控制器中使用以下模式:
API/{控制器}/{ID}/{收集}
示例: 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);
}
}
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?
推荐的方法是什么?
@SLacks是正确的,您应该返回, IQueryable<object>或者IQueryable<someBaseType>如果可以的话.
您获得的错误是DataContract Serializer的一个功能.所以你有几个选择.
对于"教学"选项,您可以通过两种方式进行教学.
(A)利用该[KnownType(typeof(...))]属性.这是关于KnownType属性的帖子.这是为WCF,但应该让你开始.
(B)使用数据合同解析器.这篇文章应该让你入门.
| 归档时间: |
|
| 查看次数: |
3380 次 |
| 最近记录: |