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(我认为我需要递归的多对多链接),但是,我得到的更少(没有一些名称空间)。
我错过了什么不能得到名字,价值等?
答案 0 :(得分:0)
不确定为什么它不想返回任何内容 - 但是,当我删除整个元数据引用类并解决了周期性问题时,问题得到了解决。在没有映射器的情况下与数据紧密耦合。