跳到主要内容

数据查重

配置对象数据在保存、导入时的重复校验规则,防止重复数据录入。

概述​

数据查重(对象设置 → 「数据查重」卡片)用于在对象维度设置重复判定规则。当数据写入时,系统会按配置的查重字段与查重模式检查是否已存在重复数据,命中则拒绝写入并提示。

配置项​

配置项说明
查重字段参与重复判定的字段,可多选
查重模式决定多个字段之间的判定关系
重复后消息提示命中重复时展示给用户的提示文案

查重模式​

存储值名称说明
0独立查重任一查重字段重复即判定为重复(字段之间为「或」)
1组合查重(And)所有查重字段都重复才判定为重复(字段之间为「与」)
配置联动

「查重模式」与「重复后消息提示」仅在已选择至少一个「查重字段」后显示。查重模式为必填项。

配置方法​

  1. 进入对象设置页的「对象设置」页签。
  2. 在「数据查重」卡片中,选择要参与查重的字段(可多选)。
  3. 选择查重模式(独立查重 / 组合查重)。
  4. 可选:填写「重复后消息提示」,未填写时使用系统默认的重复数据提示。

下一步​

属性明细​

以下内容面向技术实现与 AI 检索。

配置项定义​

属性名类型含义取值/存储值
Properties.RepeatValidateFieldsstring[]查重字段编码集合字段 Code 数组,可为空
Properties.RepeatValidateRelationRepeatValidateRelationEnum查重字段关系0 = IndependentCheck(独立查重)、1 = And(组合查重)
Properties.RepeatMessagestring重复后消息提示纯文本,为空时使用系统默认提示

查重关系的枚举定义:

public enum RepeatValidateRelationEnum
{
IndependentCheck = 0,
And = 1,
}

存储示例​

{
"Properties": {
"RepeatValidateFields": ["isbn", "name"],
"RepeatValidateRelation": 1,
"RepeatMessage": "ISBN 与书名已存在"
}
}

校验逻辑说明​

  • 数据校验入口为 MetaFieldService.DataVerificationAsync,按 RepeatValidateFields 逐个字段构建 Eq 条件。
  • RepeatValidateRelation 为 IndependentCheck 时对字段条件做「或(Or)」组合;为 And 时做「与(And)」组合,其他取值抛出 NotSupportedException。
  • 命中重复时抛出异常,消息取 RepeatMessage,为空则取系统默认的重复数据提示(DataDuplicate)。