2017-05-26 37 views
0

我的代碼適用於將數據插入數據庫。但是,如果我嘗試更新它(插入後),列值顯示爲空字符串。但是,如果我重新啓動應用程序,則會顯示該值。以下是我的代碼:LINQ:成功將數據插入數據庫,但無法找到特定列的值

using(var ctx = LinqExtensions.GetDataContext<MyDataContext>("MyDB")) 
{ 

var memoD = ctx.DataContext.MemoEntities.Where(p=>p.VoucherNo == det.VoucherReferenceNumber).FirstOrDefault(); 

if(memoD != null) 
{ 

memoD.VoucherNo = String.Empty; 

ctx.DataContext.SubmitChanges(); 

} 

} 
+0

嘗試使用ctx.DataContext.AcceptChanges()這可能工作後加入一個DataContext刷新解決 –

回答

0

我的問題是由ctx.DataContext.SubmitChanges()

memoD.VoucherNo = String.Empty; 
ctx.DataContext.SubmitChanges(); 
ctx.DataContext.Refresh(RefreshMode.KeepChanges,memoD); 
0

您可以嘗試以下操作。希望能幫助我的朋友。

using(var ctx = LinqExtensions.GetDataContext<MyDataContext>("MyDB")) 
{ 

var memoD = ctx.DataContext.MemoEntities.Where(p=>p.VoucherNo == det.VoucherReferenceNumber).FirstOrDefault(); 

if(memoD != null) 
{ 

memoD.VoucherNo = String.Empty; 
ctx.DataContext.MemoEntities.AddOrUpdate(memoD); 
ctx.DataContext.SubmitChanges(); 

} 

} 
相關問題