c# - 2个不同属性的虚假模拟数据相同的值
问题描述
伪造的模拟数据相同的值对于 2 个不同的属性,是否可以让 2 个属性在 fluent api 中具有相同的值。
var users = new Faker<User>()
.StrictMode(false)
.RuleFor(o => o.Id, f => orderIds++)
.RuleFor(o => o.UserName, f => f.Person.FullName) // This needs to be same as the next property
.RuleFor(o => o.NormalizedUserName, f => f.Person.FullName) // This should be same but uppercase
想要生成的数据:
[
{
userName: "Ivan Horvat",
normalizedUserName: "IVAN HORVAT"
},
{
userName: "John Doe",
normalizedUserName: "JOHN DOE"
}
]
我希望生成的每个实体都具有相同的实体UserName
,NormalizedUsername
但每个实体都有自己的实体。
解决方案
RuleFor(Prop, (f, usr) =>)
您也可以通过使用重载来拥有两个具有相同值的属性。
void Main()
{
int orderIds = 0;
var users = new Faker<User>()
.StrictMode(false)
.RuleFor(o => o.Id, f => orderIds++)
.RuleFor(o => o.UserName, f => f.Person.FullName) // This needs to be same as the next property
.RuleFor(o => o.NormalizedUserName, (f, usr) => usr.UserName.ToUpper()); // This should be same but uppercase
users.Generate(3).Dump();
}
public class User{
public int Id{get;set;}
public string UserName{get;set;}
public string NormalizedUserName {get;set;}
}
推荐阅读
- c# - 检查 MongoDb 中的列是否存在
- javascript - Angular 6:添加类似“https://www.npmjs.com/package/url-regex”的java脚本库
- javascript - 反应原生如何使用道具自定义样式
- java - 从具有多个引用光标的 Hibernate 调用存储过程
- c# - .NET Core - 将带有 Request-Id 的传入请求与出站 HTTP 请求挂钩
- r - 隐藏第 X 行之后的所有行
- android - Android Animated Vector Drawable 无法在 xml 中循环
- node.js - 使用自己的上下文调用另一个文件中的函数
- c# - 无角色登录
- lisp - Common Lisp - CCL,为什么在将全局函数传递给局部函数时会出现警告?