【发布时间】:2019-06-18 00:55:54
【问题描述】:
您好,当我将 ASP.NET MVC 与 EF 一起使用并从其他网站(也使用实体框架)调用 Web API 时,我发现了问题 问题是
我想确保 MVC SaveChanges() 和 Web API SaveChanges() 同时成功。
这是我梦寐以求的伪代码
public ActionResult Operation()
{
Code Insert Update Delete....
bool testMvcSaveSuccess = db.TempSaveChanges(); //it does not have this command.
if(testMvcSaveSuccess == true)
{
bool isApiSuccess = CallApi(); //insert data to Other Web App
if(isApiSuccess == true)
{
db.SaveChanges(); //Real Save
}
}
}
从上面的代码来看,如果没有db.TempSaveChanges(),Web API 可能会成功,但 MVC SaveChanges() 可能会失败。
【问题讨论】:
-
那为什么不先CallAPI,然后根据Api成功与否做mvc savechanges?
-
@beibeizhu : 先调用api成功,然后你确定mvc savechange() 会成功吗? mvc 可能会保存失败
-
所以你想在一个事务中进行两个操作..数据一致性问题也发生在微服务中,对不起我不熟悉这部分。
标签: c# asp.net asp.net-mvc entity-framework asp.net-web-api