是否可以使用 Odata 自定义操作 POST 作为触发器?

Is it possible to use a Odata Custom Action POST as trigger?

我想在注销时从我的数据库中删除用户关系。因此我只需要来自前端的触发器,这样我就可以从 HttpContext 中获取用户关系。该方法位于我的应用程序的主实体控制器中。这样做的原因是,我将不得不为实体编写一个控制器 "UserRelation" 只是因为这个方法。

我的 Remove-Action 看起来像这样

在控制器中:

[HttpPost]
public async Task<IActionResult> RemoveUser()
{
   var userRelation = dbContext.UserRelation.FindAsync(GetId());

   //some validation

   dbContext.Remove(userRelation );
   await dbContext.SaveAsync();

   return Ok();
}

在模型构建器中

builder.EntityType<MainEntity>().Action("RemoveUser");

API-通话

/odata/MainController/RemoveUser

邮递员呼叫总是以 404 结束。我如何访问此方法。在这个控制器中设置方法是否都是不好的做法?

找到解决方案:

如果你这样设置Action,效果很好。

builder.EntityType<MainEntity>().Collection.Action("RemoveUser");