2017-05-26 9 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(); 

} 

} 
相关问题