在D365商务中,产品属性通常用于存储在电子商务中显示或用于过滤的信息。这些属性与产品(而非已发布产品)关联,并支持多种语言。
有关属性的背景,请参见 Microsoft 文档。
属性值的存储方式
属性背后的数据模型相当复杂。它遵循规范化数据库结构(第三范式),确保数据干净且一致。
对于基于文本的属性,涉及两个主要表:
- EcoResValue →存储实际的属性值
- EcoResTextValueTranslation →存储该值的翻译


搜索如何使用属性值
Azure AI 搜索主要使用以下数值:
- 生态资源文本值翻译
如果没有翻译,则会退回到系统语言(通常是 en-us)。
不过:
- 如果根本不存在翻译记录,属性值可能无法索引或搜索
核心问题
系统中有一种方法用于创建默认翻译:

但实际上:
- 该方法从不被自动调用
- EcoResTextValue 表甚至没有插入方法
这意味着当创建新的属性值时:
- 不生成翻译记录
- 因此,Azure AI 搜索可能无法承担该价值
手动变通方法
打开产品属性值时,你会看到一个“翻译”按钮:

使用这个按钮:
- 在 EcoResTextValueTranslation 中创建所需的记录
- 确保该值可供搜索

重要细节:
- 如果你更新了已有的属性值,翻译记录会正确更新
- 这个问题只在初始创建时出现

现状
此行为已向Microsoft报告。预计会有修复,但尚无具体时间表。
总结——客户影响
这个问题影响了产品属性在搜索和筛选中的显示方式:
- 属性值可能无法在电子商务中被搜索
- 基于属性的过滤器可能无法如预期般工作
- 缺少翻译可能导致商店中产品数据不一致或不完整
这对客户意味着什么:
- 产品可能更难买到
- 过滤和导航可能不可靠
- 还需要额外的人工步骤(翻译)以确保行为正确
转载请注明:ww12345678 的部落格 | AX Helper » D365 Commerce: 为什么产品属性转换可能无法如预期般工作