AX 365能否像AX 2009一样自动创建表关系?
D365 FO(AX 365)外键关联字段高效实现方法
不需要逐字段手动配置表关系,也不需要额外写lookup、值校验代码,通过系统自带的外键关系自动生成功能,就能达到和AX 2009复用EDT配置几乎一致的效率,操作步骤如下:
- 第一步和AX 2009操作完全一致:在
FooTable的字段节点新建字段,字段类型直接选用已经配置好表引用的FooGroupIdEDT,命名字段为FooGroupId即可。 - 第二步不需要手动拖拽字段、手动填关联条件:右键点击
FooTable下的Relations节点,选择「New relation from foreign key」选项,在弹出的字段选择列表里选中刚创建的FooGroupId字段,系统会自动识别该EDT绑定的主键表FooGroupTable,自动完成所有关系配置:包括关联字段映射、外键属性设置、lookup绑定、存在性校验规则配置,全程不需要手动输入任何配置参数。
自动生成的表关系默认开启两个核心能力,完全匹配需求:
- 字段自动关联标准lookup,窗体运行时会直接拉取
FooGroupTable的FooGroupId列表供用户选择,不需要自定义lookup方法- 自动开启值存在性校验:用户手动输入的
FooGroupId如果不存在于FooGroupTable中,保存时会直接弹出系统标准校验报错,阻止非法数据提交,不需要额外写validateField事件代码。
补充说明:
- D365 FO移除AX 2009的EDT自动创建关系功能,是为了避免EDT层隐式关系带来的跨表依赖冲突、升级报错问题,上述自动生成外键关系的方式是微软官方推荐的标准实现路径,配置效率接近旧版的EDT自动关联,同时关系的维护粒度更可控。
- 如果需要在多个表中重复创建同一个外键字段,可以提前制作包含字段+对应外键关系的表扩展模板,新建字段时直接套用模板,能进一步提升配置效率。
- 配置完成后确认对应表关系的
Validate属性为Yes(系统自动生成时默认开启,无需手动修改),存在性校验就会正常生效。
内容的提问来源于stack exchange,提问作者user3775442
相关产品推荐
相关产品推荐

