Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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# “如何返回”;按“分类”;综合结果?_C#_Linq_Asp.net Mvc 4_Asp.net Web Api - Fatal编程技术网

C# “如何返回”;按“分类”;综合结果?

C# “如何返回”;按“分类”;综合结果?,c#,linq,asp.net-mvc-4,asp.net-web-api,C#,Linq,Asp.net Mvc 4,Asp.net Web Api,我试图理解如何在web.api接口中通过结果返回组,如下所示 [ActionName("Archive")] public HttpResponseMessage GetArchiveImport() { try { var result = _service.QueryFor(x => x.ActionType == ActionType.Import) .GroupBy(x => x.InsertDate,

我试图理解如何在web.api接口中通过结果返回组,如下所示

[ActionName("Archive")]
public HttpResponseMessage GetArchiveImport() {
    try {
        var result = _service.QueryFor(x => x.ActionType == ActionType.Import)
            .GroupBy(x => x.InsertDate,
                (key, group) => new {
                    Date = key,
                    Entries = group.ToList()
                }).ToList();

        return Request.CreateResponse(HttpStatusCode.OK, result);
    }
    catch (Exception e) {
        _logger.Error("Failed to retrive import file", e);
    }
    return Request.CreateResponse(HttpStatusCode.InternalServerError);
}
查询返回=>
IEnumerable


我没有得到任何结果,有人能解释为什么吗?

为什么不简化为这个

var result = _service.QueryFor(x => x.ActionType == ActionType.Import)
            .GroupBy(x => x.InsertDate);
并与调试人员一起检查结果。如果您没有得到任何数据,那么您的查询不会返回任何数据

你的问题真的是这样吗

您的结果中包含数据,但未按预期将其传送到网络上

如果我假设这是一个普通的WebAPI方法,那么您的方法签名应该是这样的

public IEnumerable<IGrouping<DateTime, History>> GetArchiveImport()
并返回
result.ToList()


函数的返回值将是
IEnumerable

是否尝试调试代码?是否缺少select关键字?是否已检查是否有不包含“按部分分组”的结果?我在测试中有390k结果集。万事如意你有什么看法?如果您确信您的测试集工作正常,那么您是如何测试没有得到任何结果的?请记住,groupby语法不会返回IEnumerableCare来说明为什么这会被否决,我没有得到(key,group)=>new{Date=key,Entries=group.ToList()}的值。我想返回我所显示的确切结果,没有其他签名和相同的精确分组数据。好的,那么您必须将其序列化为xml/json/您喜欢的任何格式。使用上面的签名,您只需执行return result.ToList(),在这里您可以找到有关iGroup问题的更多信息
public class HistoryGroup
{
   public DateTime InsertDate { get; set; }
   public IEnumerable<History> History { get; set; }
}
var result = _service.QueryFor(x => x.ActionType == ActionType.Import)
            .GroupBy(x => x.InsertDate,
                (key, group) => new HistoryGroup() {
                    InsertDate = key,
                    History = group
                })