提交事务后不刷新数据 C#
After commit transaction doesn't refresh data C#
我的程序有一个实体调用 Articles
。在一种形式中,用户可以指定他想购买多少新商品。这发生在一种叫做 "Purchase order" 的形式中。所以,当这种情况发生时,库存麝香就会增加。在另一种形式中,我列出了所有文章,它必须反映出这种变化。
现在,这是我的问题。生成采购订单后,如果我转到 SQL 并在我的数据库中搜索该文章,我可以看到更改。如果转到我列出文章的表格,我看不到该更改。但是,如果我关闭程序然后再次 运行,如果我搜索文章,就会出现更改。
我不知道可能是什么错误。我正在使用 Entity Framework.
这是我添加文章的方式。
BaseRepository.BeginTransaction();
foreach (Documento_Articulo doc in datos.Documento_Articulo)
{
if (!articuloRepository.Increase(doc.Articulo.Id_Articulo, doc.Cantidad))
{
BaseRepository.RollBackTransaction();
return response.Error("Error: - " + doc.Articulo.Descripcion);
}
}
response.Value = documentoRepository.InsertGetDocument(datos);
BaseRepository.CommitTransaction();
我认为代码没有问题,因为正如我所说,我可以在我的数据库中看到更改。
有人知道为什么会这样吗?
我怀疑客户端缓存了结果。如果你在returns数据库列表的方法中设置断点,每次显示它时都会执行吗?
我的程序有一个实体调用 Articles
。在一种形式中,用户可以指定他想购买多少新商品。这发生在一种叫做 "Purchase order" 的形式中。所以,当这种情况发生时,库存麝香就会增加。在另一种形式中,我列出了所有文章,它必须反映出这种变化。
现在,这是我的问题。生成采购订单后,如果我转到 SQL 并在我的数据库中搜索该文章,我可以看到更改。如果转到我列出文章的表格,我看不到该更改。但是,如果我关闭程序然后再次 运行,如果我搜索文章,就会出现更改。
我不知道可能是什么错误。我正在使用 Entity Framework.
这是我添加文章的方式。
BaseRepository.BeginTransaction();
foreach (Documento_Articulo doc in datos.Documento_Articulo)
{
if (!articuloRepository.Increase(doc.Articulo.Id_Articulo, doc.Cantidad))
{
BaseRepository.RollBackTransaction();
return response.Error("Error: - " + doc.Articulo.Descripcion);
}
}
response.Value = documentoRepository.InsertGetDocument(datos);
BaseRepository.CommitTransaction();
我认为代码没有问题,因为正如我所说,我可以在我的数据库中看到更改。
有人知道为什么会这样吗?
我怀疑客户端缓存了结果。如果你在returns数据库列表的方法中设置断点,每次显示它时都会执行吗?