0

我正在尝试在 C# 中生成 3000 条假记录,条件是每 1000 个项目将以 UTC 毫秒为单位具有相同的时间戳(update_time),然后接下来的 1000 个项目将以 UTC 毫秒为单位具有相同的时间戳。如何做到这一点?

private static IReadOnlyCollection<Document> GetDocumentsToInsert()
        {
            return new Bogus.Faker<Document>()
            .StrictMode(true)
            //Generate item
            .RuleFor(o => o.id, f => Guid.NewGuid().ToString()) //id
            .RuleFor(o => o.update_time, f => DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();)
            .Generate(3000);
        }

        // <Model>
        

        public class Document
        {
            public string update_time {get;set;}
            public string id{get;set;}
        }
4

1 回答 1

1

我对 Faker 不熟悉,但看起来你想要这样的东西:

private static IEnumerable<Document> GetDocumentsToInsert()
{
    IEnumerable<Document> result = new List<Document>();

    for (int x = 0; x < 3; ++x)
    {
        DateTimeOffset timeNow = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

        IEnumerable<Document> temp = new Bogus.Faker<Document>()
            .StrictMode(true)
            //Generate item
            .RuleFor(o => o.id, f => Guid.NewGuid().ToString()) //id
            .RuleFor(o => o.update_time, f => timeNow;)
            .Generate(1000);

        result = result.Concat(temp);
    }

    return result;
}
于 2021-06-15T11:06:48.843 回答