[英]how I can update my entity in wcf service
在我的wcf服務中,我有以下方法作為“運營合同”:
public void Update(long id, string docNo, Nullable<int> item, string regNo, string payCode, string fixVar,
string effectiveDate, string calcBase, Nullable<decimal> value, string costCenter, string subAcc,
string docReference, string comment)
{
using (WFS006Entities dbu = new WFS006Entities())
{
NIOCPay_PayDetail doc = dbu.NIOCPay_PayDetail.Where(it => it.ID == id).SingleOrDefault();
if (doc != null)
{
doc.DocNo = docNo;
doc.Item = item.HasValue ? item.Value : 0;
doc.RegNo = regNo;
doc.PayCode = payCode;
doc.FixVar = fixVar;
doc.EffectiveDate = effectiveDate;
doc.CalcBase = calcBase;
doc.Value = value.HasValue ? value.Value : 0;
doc.CostCenter = costCenter;
doc.SubAcc = subAcc;
doc.DocReference = docReference;
doc.Comment = comment;
}
dbu.Entry<NIOCPay_PayDetail>(doc).State = System.Data.EntityState.Modified;
dbu.NIOCPay_PayDetail.Attach(doc);
dbu.SaveChanges();
}
}
文檔實體已更新,並且savechanges方法運行時沒有任何錯誤,但是沒有在數據庫中運行,我同時運行SQL事件探查器,但是我發現沒有任何問題,沒有sql或任何執行sql命令。 我該怎么辦?
我找到了自己的答案:
db.NIOCPay_PayDetail.Attach(doc);
db.ChangeTracker.Entries<NIOCPay_PayDetail>().FirstOrDefault().State =
System.Data.EntityState.Modified;
db.SaveChanges();
現在工作正常。
文檔已更新,並且savechanges方法運行無任何錯誤
這是否意味着您的更改已保存到數據庫?
如果是,則表明您的探查器設置不正確,並且可能是由於多種原因(例如您在錯誤的數據庫上運行),設置了一些不正確的參數等等。 如果否,那么您的陳述是錯誤的。 請診斷出問題所在
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.