我怎么能强迫LinqToSql DataContext的考虑财产脏,并将其提交到数据库?
在我的情况的属性是的XElement,它被修改,但DataContext的不抓住它,因为实际参考保持不变。
我想我可以尝试分配财产空或新的XElement,然后分配给它回到原来的XElement。 这会是最好的解决办法?
我打电话的SubmitChanges后的XElement儿童被修改。
我怎么能强迫LinqToSql DataContext的考虑财产脏,并将其提交到数据库?
在我的情况的属性是的XElement,它被修改,但DataContext的不抓住它,因为实际参考保持不变。
我想我可以尝试分配财产空或新的XElement,然后分配给它回到原来的XElement。 这会是最好的解决办法?
我打电话的SubmitChanges后的XElement儿童被修改。
您可能需要使用Attach(object, true)
,你说的是DataContext的要传递的版本是你想要的保存。 然后,你可以调用SubmitChanges()
从那里。
我还没有找到一种方法来逼实体属性变脏。 从在LinqToSql代码挖似乎旧值在一般跟踪和然后相比,新的值,因此无论是附加必须使用或当前对象必须clonned来创建新的参考。
我曾在我的问题的XElement通过自定义我的表类。 当的XElement改变,我简单地创建基于旧元素新的XElement:
partial class Table
{
partial void OnLoaded()
{
if( XmlData != null )
{
XmlData.Changed += this.XmlData_Changed;
}
}
private void XmlData_Changed( object sender, XObjectChangeEventArgs e )
{
this.ModifiedCardData = new XElement( this.XmlData );
}
}