Asp.net web api Oracle db不会通过webapi进行更新,但db将通过unittest进行更新

Asp.net web api Oracle db不会通过webapi进行更新,但db将通过unittest进行更新,asp.net-web-api,oracle11g,odp.net,Asp.net Web Api,Oracle11g,Odp.net,我的asp.net webapi项目有问题。 我正在使用ODP.NET连接Oracle数据库。 我的webapi由服务、核心和dal三层组成 我的问题是,当我试图更改/创建/删除对象时,我的数据库不会更新,但ef中的DBContext会更新。 因此,当我通过api/user/1调用api并发出put请求时,ef会更新对象,但不会将其提交到数据库 奇怪的是,当我试图通过单元测试来更新对象时,数据库会更新。然后我直接调用控制器:UserController.Putid,object 有人知道这是怎么

我的asp.net webapi项目有问题。 我正在使用ODP.NET连接Oracle数据库。 我的webapi由服务、核心和dal三层组成

我的问题是,当我试图更改/创建/删除对象时,我的数据库不会更新,但ef中的DBContext会更新。 因此,当我通过api/user/1调用api并发出put请求时,ef会更新对象,但不会将其提交到数据库

奇怪的是,当我试图通过单元测试来更新对象时,数据库会更新。然后我直接调用控制器:UserController.Putid,object

有人知道这是怎么可能的吗?我如何解决这个问题

编辑:代码

单元测试:

var _controller=新用户控制器; var user=新用户 { Name=userTest }; //通过web添加用户-不添加到数据库 var\u client=new RestClienthttp://localhost; RestRequest request=new restrequestestapi/User,Method.POST; request.AddParametertext/json,JsonConvert.SerializeObjectuser,ParameterType.RequestBody; iResponse response=\u client.Executerequest; //通过控制器添加用户-不添加到数据库 _控制器、姿势器; var userData=List_controller.Get; Assert.IsNotNulluserData.Findu=>u.Naam==user.Naam; 用户控制器:

//发布api/用户 public void Post[FromBody]T值 { _服务创造价值; } 用户服务:

公共用户值 { var_repository=新用户存储库; var _mapper=新用户映射器; var newUser=\u mapper.Mapvalue; _repository.AddnewUser; _repository.SaveChanges; }
你使用依赖注入吗?如果是这样的话,试着找出两者之间是否存在差异。

你能在这里粘贴一些代码吗?你在Web API上有任何异常吗?没有,但我已经有了答案。因为SO的安全检查,我无法发布答案。我需要等8个小时才能回答我自己的问题……干得好,杰克;这确实是问题所在。我通过在每个控制器中填充UnityController的路由表来修复它。现在,每次调用都会重置依赖项。我将依赖项注入器更改为Autofac,而不是Unity。Autofac工作得更好!