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