C# MVC XML模型作为另一个模型的属性

C# MVC XML模型作为另一个模型的属性,c#,asp.net-mvc,asp.net-mvc-4,model,C#,Asp.net Mvc,Asp.net Mvc 4,Model,我有一个具有此属性的模型: [Required] [Column(TypeName = "xml")] public string Data { get; set; } 以及表示该数据的模型: [XmlRoot("data")] public class Data { [Required] [XmlElement("id")] public Guid ID { get; set; } [Required] [XmlElement("name")]

我有一个具有此属性的模型:

[Required]
[Column(TypeName = "xml")]
public string Data { get; set; }
以及表示该数据的模型:

[XmlRoot("data")]
public class Data
{
    [Required]
    [XmlElement("id")]
    public Guid ID { get; set; }

    [Required]
    [XmlElement("name")]
    public string Name { get; set; }

    [Required]
    [XmlElement("value")]
    public object Value { get; set; }
}
是否可以将该属性绑定到数据模型?我想利用MVC表单控件,例如:

@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)

这是可能的,还是我必须手动序列化/反序列化XML并构建自己的表单?

我认为不是在第一个模型上声明
公共字符串数据{get;set;}
,而是需要声明
公共数据{get;set;}
以使EditorFor呈现自定义模型

但是,您需要反序列化并创建一个自定义的.cshtml编辑器或视图模板来显示数据