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

ASP.NET MVC搭配Entity Framework访问CRM时new_accountactive字段无效求助

问题根因与解决方案

你遇到的报错可以从以下几个方向排查修复:

  1. 原生SQL查询字段不全
    你在控制器的SqlQuery方法里写的SELECT语句,只查询了id、new_accountserial、new_sun、new_sortcode、new_accountnumber、new_accountname6个字段,但你的OriginatingAccounts实体类还包含new_accountactive等4个额外属性,且视图中也用到了这些属性。EF做实体映射时需要匹配所有属性对应的列,哪怕你只在WHERE条件里用到new_accountactive,也需要先把该字段加到SELECT列表中,修改后的SQL参考:
Dim _list = db.OriginatingAccounts.SqlQuery("SELECT id, new_accountserial, new_sun, new_sortcode, new_accountnumber, new_accountname, new_accountactive, new_creditingaccount, new_debitingaccount, new_validated  
                                             FROM new_oaccounts  
                                             WHERE new_accountactive = 1").ToList
  1. 布尔值写法不兼容CData驱动
    CData连接Dynamics CRM的驱动对未加引号的布尔常量true兼容性较差,建议把WHERE条件里的new_accountactive = true替换为new_accountactive = 1或者new_accountactive = 'True',避免驱动识别失败。
  2. 兜底排查步骤
    如果修改后还是报错,可以先通过CData官方提供的连接测试工具直接执行你写的SQL语句:
  • 如果测试工具执行也报字段不存在,说明你核对的字段名和CRM中实际的逻辑名称仍有偏差,可重新导出CRM实体的元数据确认字段名
  • 如果测试工具执行正常,说明你的DynamicsCRMContext上下文配置存在映射问题,可检查是否有全局的字段忽略、字段名转换规则冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:45:03