WebApi返回没有值的Json记录

时间:2014-10-08 23:49:41

标签: asp.net-web-api entity-framework-6

很抱歉打扰了这个,但我已经争吵了一段时间,我找不到答案。 我在一个WebForm项目中有一个WebApi,它运行得很好。我们将EntityFramework从4.0更新到6.1,WebApi仅适用于DTO对象,但如果我们尝试返回实体列表,它将返回Json记录,如下所示:

[{"$id":"1"},{"$id":"2"},{"$id":"3"},{"$id":"4"}]

哪个是要返回的正确记录数,但它们是空的,没有值对。 模型中的所有实体都用以下内容进行修饰:

[Serializable()]
[DataContract()]

控制器是:

// GET api/<controller>/5
public IEnumerable<uv_Quotation_QuotationList> Get(Guid id)
{
    var quotationList = _db.uv_Quotation_QuotationList.Where(q => q.EventId == id).ToList();
    if (quotationList == null)
        throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
    return quotationList;
}

Global.asax.cs在Application_Start中包含此代码:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
            json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);

我希望有人可以将我重定向到正确的解决方案。

谢谢!!

0 个答案:

没有答案