如何将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的内容可以成为我查询的一部分。那么,这可能吗?
如果不是,在保持该类的公共接口不变的情况下,最好的替代方案是什么?
也许可以将XmlDoc序列化为Blob,但为什么要麻烦呢?它本质上是文本。
public string ContentText { get; set; }
private _xmlDocuent;
[NotMapped]
public XmlDocument Content
{
get { return _xmlDocumet ?? (_xmlDocument = new XmlDocuent.Parse(ContentTExt)); }
}