/// <summary> /// Записывает данные LOB-свойства /// </summary> /// <param name="xobj">объект-владелец свойства</param> /// <param name="xmlProp">xml-свойство</param> /// <param name="propInfo">описание свойства</param> private void writeLOBProp(DomainObjectData xobj, XmlElement xmlProp, XPropInfoBase propInfo) { string sPropName = propInfo.Name; XPropType vt = propInfo.VarType; object vPropValue; int nDataSize = 0; if (xobj.IsNew) { vPropValue = xobj.GetUpdatedPropValue(sPropName); if (vPropValue == null || vPropValue == DBNull.Value) { nDataSize = 0; } else { xmlProp.InnerText = XmlPropValueWriter.GetXmlTypedValue(vPropValue, vt); } } else { nDataSize = xobj.GetLoadedPropDataSize(sPropName); if (nDataSize > 0) { vPropValue = xobj.GetLoadedPropValue(sPropName); if (vPropValue == null) { // данные в свойстве есть, но не загружены xmlProp.SetAttribute("loaded", "0"); } else { xmlProp.InnerText = XmlPropValueWriter.GetXmlTypedValue(vPropValue, vt); } } } xmlProp.SetAttribute("data-size", XmlConvert.ToString(nDataSize)); }