LINQ:已成功将数据插入数据库但无法找到特定列的值

时间:2017-05-26 07:54:20

标签: c# windows-applications

我的代码适用于将数据插入数据库。但是,如果我尝试更新它(插入后),列值显示空字符串。但是,如果我重新启动我的应用程序,则会显示该值。这是我的代码:

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();

}

}

2 个答案:

答案 0 :(得分: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();

}

}

答案 1 :(得分:0)

我的问题是通过在ctx.DataContext.SubmitChanges()之后添加datacontext刷新来解决的。

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