如何将XmlDocument添加到POCO类?

时间:2014-05-03 15:36:08

标签: c# poco entity-framework-6

我有这堂课:

    [Table("Items", Schema = "Datamodel")]
    public class BaseItem : Identifier
    {
        [Required(ErrorMessage = "Name is required.")]
        [MaxLength(240)]
        public string Name { get; set; }

        public XmlDocument Content { get; set; }

        public BaseItem() { Content = new XmlDocument(); }
        internal BaseItem(string name) : this() { Name = name; }
    }
}

(Identifier类只定义GUID类型的额外属性Id,这是必需的,默认情况下使用新值初始化。所有我的POCO类都继承自这个。)

问题是XmlDocument属性,我希望将其存储在数据库中,最好是XML类型,这样XML的内容就可以成为我查询的一部分。那么,这可能吗?
如果没有,那么在保持这个类的公共接口完整的同时,最好的选择是什么?

1 个答案:

答案 0 :(得分:2)

有可能将XmlDoc序列化为Blob,但为什么要这么麻烦?它本质上是文本。

public string ContentText { get; set; }

private _xmlDocuent;    
[NotMapped] 
public XmlDocument Content 
{
  get { return _xmlDocumet ?? (_xmlDocument = new XmlDocuent.Parse(ContentTExt)); }
}