我正在尝试将一些数据发布到我的 API。这是我的回购:public async Task Create(CustomerMaster entity){ await trainContext.CustomerMaster.AddAsync(entity); await trainContext.SaveChangesAsync();}这里是我的控制器:public async Task<IActionResult> Post([FromBody]CustomerMaster entity){ if (!ModelState.IsValid) { return BadRequest(ModelState); } await customerMasterRepository.Create(entity); return CreatedAtAction(nameof(GetById), new { id = entity.Id }, entity);}当我试图用邮递员寄东西时,我总是会得到 500 的回报。我调试它并在我的 repo 中添加实体,但它实际上从未发布在数据库中。我错过了什么吗?还是我做错了什么?编辑1:private readonly TrainContext trainContext;public CustomerMasterRepository(TrainContext context){ trainContext = context;}编辑 2:使用 EF,没有回购所以我在我的控制器中有:private TrainContext context;public CustomerMasterController(){ context = new TrainContext();}在我的 POST 操作中:[HttpPost]public async Task<IActionResult> Post(CustomerMaster entity){ if (entity == null) { return BadRequest(); } await context.CustomerMaster.AddAsync(entity); // await context.SaveChangesAsync(); return CreatedAtRoute("GetCustomer",new { id = entity.Code }, entity);}而且我还是拿回了500。我真的不明白为什么?我调试它并且没有使用我在实体中发布的内容。编辑3:我使用 API 控制器和 EF 生成的动作创建了这个控制器,在这种情况下,当我尝试 GET 动作时,我得到 500。现在我真的很困惑 500: 数据库连接从哪里来?控制器?
1 回答
- 1 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消