我有这堂课:
[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的内容就可以成为我查询的一部分。那么,这可能吗?
如果没有,那么在保持这个类的公共接口完整的同时,最好的选择是什么?
答案 0 :(得分:2)
有可能将XmlDoc序列化为Blob,但为什么要这么麻烦?它本质上是文本。
public string ContentText { get; set; }
private _xmlDocuent;
[NotMapped]
public XmlDocument Content
{
get { return _xmlDocumet ?? (_xmlDocument = new XmlDocuent.Parse(ContentTExt)); }
}