我用了RefreshMode.KeepChanges
为什么不能更新呢??

解决方案 »

  1.   

     dataContext.PUB_P_TEMPLATE.Attach(Template);
                    dataContext.Refresh(RefreshMode.KeepCurrentValues, Template);
                    dataContext.SubmitChanges();
    我用KeepCurrentValues可以,但是这样未赋值的字段就会是NULl。我想保留数据库原有的值,
    所以改成RefreshMode.KeepChanges 
    但为什么更新不了??~~
      

  2.   

     自己来吧
     public void UpdateTemplated(int Id,Action<PUB_P_TEMPLATED> Templated)
            {
                try
                {
                    PUB_P_TEMPLATED Tmp = dataContext.PUB_P_TEMPLATED.Single(t => t.ID == Id);
                    Templated(Tmp);
                  // dataContext.PUB_P_TEMPLATED.Attach(Templated,true );
                    
                   //dataContext.Refresh(RefreshMode.KeepChanges, Templated);
                    //dataContext.SubmitChanges(ConflictMode.FailOnFirstConflict);
                    dataContext.SubmitChanges();
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
    调用时
    Tmp.UpdateTemplated(Id, t => { t.ID = 0; t.ITEMID = 0; });