REST服务不能正确返回元组

时间:2015-06-05 13:19:57

标签: c# rest tuples dotnet-httpclient

我有REST服务,我想从中返回一个元组。元组将是2个列表。请参阅下面的代码。 GetRecords方法返回元组,当我检查结果变量时,我可以看到我需要的所有内容都是正确的。

CREATE TRIGGER log AFTER UPDATE ON STORMTROOPER
FOR EACH ROW
BEGIN
SELECT 'Updated stormtrooper ' + CAST(d.id AS varchar2) + ' in ' + SQUAD.id + ' squad of ' + PLATOON.id + ' platoon, ' + COMPANY.id + ' company, ' + BATTALION.id + ' battalion from rank ' + d.rank + ' to ' + i.rank
FROM deleted d
INNER JOIN inserted i ON (i.id = d.id)
INNER JOIN SQUAD ON SQUAD.id = i.squad
INNER JOIN PLATOON ON PLATOON.id = SQUAD.platoon
INNER JOIN COMPANY ON COMPANY.id = PLATOON.company
INNER JOIN BATTALION ON BATTALION.id = COMPANY.battalion
GROUP BY d.id;
END;

这是我的主叫代码:

    public HttpResponseMessage GetRecords([FromUri] List<int> ids)
    {
        try
        {
            Tuple<List<Class1>, List<Class2>> result = DataAccess.GetRecords(ids);

            return Request.CreateResponse(HttpStatusCode.OK, result);
        }
    }

所以一切似乎都没有错误,但是调用代码中的结果变量是空的。有人知道我错过了什么吗?

如果我更改我的代码以返回List而不是元组,那么它将起作用。

请帮助。

1 个答案:

答案 0 :(得分:2)

根据MSDN我假设您无法序列化元组,因为它错过了无参数构造函数。

编辑:

可以找到可能的解决方法there