You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用XRM工具为Dynamics 365 Web应用添加删除记录功能遇错求助

问题描述

我正在为使用XRM工具更新/编辑Dynamics 365记录的Web应用添加删除记录功能,但一直遇到错误。当前报错截图如下:
报错截图

点击删除按钮时通过字符串id关联对应目标记录,以下是相关代码:

CommonServices.cs 代码

public bool DeleteEmployeeRecord(new_EmploymentHubCollegues employmentHubCollegue)
{
    CrmServiceClient serviceClient = GetCrmServiceClient();
    
    serviceClient.Delete(employmentHubCollegue);

    return true;
}

控制器代码

public ActionResult DeleteEmployee(string id)
{
    ViewBag.Message = "Your application edit page.";

    new_EmploymentHubCollegues Delete = _Service.GetCollegue(id);

    return View(Delete);
}

[HttpPost]
public ActionResult DeleteEmployee(new_EmploymentHubCollegues Delete)
{
    ViewBag.Message = "Your application edit page.";

    if (_Service.DeleteEmployeeRecord(Delete) == true)
    {

    }

    return View(Delete);
}

Services.cs 代码

bool DeleteEmployeeRecord(new_EmploymentHubCollegues employmentHubCollegue);

现有代码可正常执行新增和更新记录操作,但删除功能的实现存在疑问,比如是否无需返回bool类型。


问题修复方案

1. 核心错误原因

CrmServiceClient.Delete方法不支持直接传入实体对象,它需要的参数是实体逻辑名称和实体Guid类型的ID,当前调用方式参数不匹配,导致报错。

2. 修改CommonServices.cs的删除方法

public void DeleteEmployeeRecord(Guid employeeId)
{
    CrmServiceClient serviceClient = GetCrmServiceClient();
    // 替换成你实际的实体逻辑名称,可在Dynamics 365解决方案的实体属性中查看
    serviceClient.Delete("new_employmenthubcollegues", employeeId);
}

3. 更新Services.cs的接口定义

void DeleteEmployeeRecord(Guid employeeId);

4. 简化控制器的POST删除逻辑

不需要先查询整个实体,直接解析ID调用删除即可:

[HttpPost]
public ActionResult DeleteEmployee(string id)
{
    ViewBag.Message = "Your application edit page.";
    
    if (Guid.TryParse(id, out Guid employeeId))
    {
        _Service.DeleteEmployeeRecord(employeeId);
        // 删除成功后建议跳转到列表页,示例:return RedirectToAction("EmployeeList");
    }
    
    return View();
}

关于返回值的疑问

删除操作只要没有抛出异常就代表成功,不需要返回bool类型,用void更合适。如果需要处理异常,可以在方法内添加try-catch块,或者统一交给全局异常处理机制。


内容的提问来源于stack exchange,提问作者user9047069

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:27:51