在单个C#Web服务中检索记录并保存到数据库

时间:2016-10-08 12:22:54

标签: c# json azure get

您好我正在尝试将azure中的C#webservice与get和a post同时组合,我们的想法是通过uniqueCDcode获取CD的详细信息,并且webservice只输出json信息和uniqueCDcode需要存储在一个不同的表CDClicked我得到所有clickedCD的列表,所以我能够采取最后的50趋势等,但似乎并没有真正让它工作。这就是我到目前为止所拥有的

    //// WS# 00002 GET THE ALBUM DETAILS
    [Route("api/Music/Album/{uniqueCDcode}")]
    public HttpResponseMessage GetAlbum(int uniqueCDcode)
    {
        return Request.CreateResponse(HttpStatusCode.OK, 
            new { AlbumMusic = db.Music
                .Where(am => am.uniqueCDcode == uniqueCDcode);

        db.CDClicked.Add(uniqueCDcode);

    }

1 个答案:

答案 0 :(得分:2)

您需要检索您的记录/执行保存,然后返回响应。对dbContext(第二部分)的Add()方法调用不起作用,因为return语句首先返回一个值,然后停止服务的执行,所以它永远不会到达第二部分。你的逻辑需要在return语句之前完成。

例如:

[Route("api/Music/Album/{uniqueCDcode}")]
public HttpResponseMessage GetAlbum(int uniqueCDcode)
{
    db.CDClicked.Add(uniqueCDcode);

    return Request.CreateResponse(HttpStatusCode.OK, 
        new { AlbumMusic = db.Music
            .Where(am => am.uniqueCDcode == uniqueCDcode )});
}

您在代码中也遇到了一些格式问题。你的大括号和parens没有匹配(至少在你粘贴到SO中的代码中)。我在下面的答案中纠正了。

注意:由于与飓风有关的问题,我目前无法测试代码,但这是让您重新开始的一般概念。