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

如何使用AutoBogus设置生成Account时Person.ID的1000-10000取值范围

实现方案

你可以通过AutoBogus的自定义属性覆盖规则实现需求,以下是两种常用实现方式:


方案1:全局配置生成规则(所有Person实例生效)

创建AutoFaker实例时注册Person类型的自定义生成逻辑,后续所有通过该Faker实例生成的Person对象(包括Account的Owners列表中的成员)都会自动应用ID范围规则:

Dim fk = AutoFaker.Create(Function(config)
    ' 注册Person类型的自定义生成规则
    config.WithOverride(Of Person)(Sub(person, context)
        ' 生成1000-10000区间的整数,转为字符串后赋值给ID属性
        person.ID = context.Faker.Random.Int(1000, 10000).ToString()
    End Sub)
End Function)
Dim acct = fk.Generate(Of Account)

方案2:单次生成生效(仅当前Account生成时生效)

如果不想修改全局配置,仅在本次生成Account对象时应用ID规则,可以在调用Generate方法时单独配置覆盖逻辑:

Dim fk = AutoFaker.Create()
Dim acct = fk.Generate(Of Account)(Sub(generateContext)
    generateContext.WithOverride(Of Person)(Sub(person, context)
        person.ID = context.Faker.Random.Int(1000, 10000).ToString()
    End Sub)
End Sub)

注意事项

因为你定义的Person.ID是String类型,所以生成随机整数后需要调用ToString()做类型转换,避免出现类型不匹配的报错。如果后续将ID修改为数值类型,直接去掉ToString()调用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:27:05