如何将XmlDocument添加到POCO类

本文关键字:POCO 添加 XmlDocument | 更新日期: 2023-09-27 18:01:24

我有这样一个类:

    [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的内容可以成为我查询的一部分。那么,这可能吗?
如果不是,在保持该类的公共接口不变的情况下,最好的替代方案是什么?

如何将XmlDocument添加到POCO类

也许可以将XmlDoc序列化为Blob,但为什么要麻烦呢?它本质上是文本。

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