任何人都可以提供LINQ来更新xml列中的数据吗?

时间:2010-12-03 08:56:20

标签: linq-to-sql

我有一个表Table1有列ID(int)和xml类型的XMLTEXT 任何人都可以提供LINQ查询,这相当于下面的sql查询

更新Table1设置XMLTEXT .modify('delete(/ root / child1 / child2)')                     其中ID = 1001

1 个答案:

答案 0 :(得分:0)

在Linq2SQL中,这样的东西应该可以工作。

long ProductID = 1;

ORM.Table1 p = context.Table1s.Where(o => o.ID == ProductID).FirstOrDefault();

if(p != null) {
    p.XMLTEXTe.Element("child2").Remove();

    // Need to do this so Linq picks up on the data change
    // as it doesnt implement the correct XElement data changed event handler
    // and thus won't submit the changes made if you dont do the reassignment!
    p.XMLTEXT = new XElement(p.XMLTEXT);    

    context.SubmitChanges();
}