Одна из моих сущностей в моей модели LinqToSql имеет поле типа XElement, сопоставленное со столбцом XML в SQL Server.
Когда я делаю следующее:
myEntity.MyXmlField.Add(new XAttribute("attribute", "value"));
...
DataContext.SubmitChanges();
Полене обновляется в базе данных (но другие поля делают).Я полагаю, что DataContext не может отслеживать изменения, сделанные внутри XElement, и поэтому это поле не помечено как грязное и не обновляется.
Это правильное предположение и как я могу это исправить?
РЕДАКТИРОВАТЬ
После прочтения ссылки, предоставленной Scrum Meister, похоже, что
myEntity.MyXmlField = new XElement(myEntity.MyXmlField);
решит проблему.
Однако эторешение весьма специфично для XElement (так как его легко клонировать) и требует большой обработки, если XElement большой.
Должен быть общий способ сообщить DataContext, что поле изменилось.