Web Api MVC项目/数据返回不序列化属性

时间:2014-03-07 09:12:41

标签: asp.net-web-api

Webapi Controller,REST,数据存在。我没有把它正确序列化......

InputController:

[Route("Input/{guid}")]
    public Input GetInput(string guid)
    {
        var inputs = from input in context.Inputs where input.Guid == guid select input;
        if (inputs.Count() == 0)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }

        var first = inputs.First();
        return first; // this HAS a valid Input.
    }

模型的元数据:

[MetadataType(typeof(Metadata))]
[DataContract(IsReference = true)]
public partial class Input
{
    private class Metadata
    {
        [DataMember]
        public int ID { get; set; }

        [DataMember]
        public string Name { get; set; }

        [DataMember]
        public double? Value { get; set; }
    }
}

当(首先返回)显示完整,有效的数据输入时...... 这就是我得到的:

<Input xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://schemas.datacontract.org/2004/07/Models" z:Id="i1" />

序列化时它是空的 - 没有属性。我已经尝试删除IsReference = true(我认为我需要递归的多对多链接),但是,我得到的更少(没有一些名称空间)。

我错过了什么不能得到名字,价值等?

1 个答案:

答案 0 :(得分:0)

不确定为什么它不想返回任何内容 - 但是,当我删除整个元数据引用类并解决了周期性问题时,问题得到了解决。在没有映射器的情况下与数据紧密耦合。