我有一个具有 bool 属性的简单类。此属性的“获取”逻辑执行存储过程以从数据库返回位字段。
然后我序列化这个类并将它保存到数据库中的一个 XML 字段中。它很好地保存了类和 bool 属性,没问题。
我似乎遇到的问题是当我反序列化这个类时。该类反序列化就好了,但是当驱动bool字段的数据已经更新时,该类似乎只识别XML中序列化的内容,并且它没有回溯数据库获取新的bool值(不执行我获取新更新位字段的过程)。
我的解决方案是将 XmlIgnoreAttribute 属性添加到该字段,因此它一开始就不会被序列化。但我想知道是否有人注意到这一点和/或可以帮助我理解 .NET XmlSerializer 类的内部工作。
谢谢!
[XmlIgnoreAttribute]
public bool IsUpdated
{
get
{
DataTable dtResults = mclsSQLServerTool.LoadDataTable("exec stp_RL_SEL_NameIsUpdated '" + mstrName + "'");
bool blnIsUpdated = Convert.ToBoolean(dtResults.Rows[0]["RU_bitIsUpdated"]);
return blnIsUpdated;
}
}