性能:反序列化 JSON 数组或在 C# 上存储带有数据的 Const[]?

问题描述

我以 JSON 格式存储了大量需要提交到数据库的数据。 此 JSON 数据正在反序列化为 C# 类 []。 问题是还有其他种子数据存储在 static readonly Class[] 中并且只是被加载/发送到数据库。 我的问题是假设我们有 2 万条实体记录,哪个更好。有一个 JSON 和反序列化或有一个巨大的 static readonly class[]? 我的目标是拥有一种统一的数据存储方法,而不是为同一件事存储不同类型的文件

编辑:我的问题显然没有得到很好的解释,所以这次我会举一个例子。我有两个选项来加载数据: 一个 Json:

[
 {
   Id: "56d0bdbe-25be-4ea8-a422-dc302deee962",Name: "C-1"
   LegacyId: 1
 },{
   Id: "7bf2e997-8a8b-43c9-ba08-1770cd3adb38",Name: "C-2"
   LegacyId: 2
 }
]

每个项目都被反序列化为一个 UserEntity,然后存储在 db 中。 但是,还有其他文件用于将数据加载到 db 的相同目的。但在这种情况下,它们的存储方式如下:

     public static class UserSeedData
        {
            public static readonly UserEntity[] UserData = {
                new UserEntity{
                 Id = "56d0bdbe-25be-4ea8-a422-dc302deee962",Name = "C-1",LegacyId = 1
                },new UserEntity{ 
                 Id = "7bf2e997-8a8b-43c9-ba08-1770cd3adb38",Name = "C-2",LegacyId = 2
                }
            };
        }

我的问题是哪个更快,或者加载和序列化 JSON // 加载静态类 UserSeedData 以将其插入数据库之间是否有任何区别。

我专注于反序列化部分,而不是提交到数据库。这是一个遗留系统,目前正在使用两种方式加载数据。我只是试图通过定义哪种方法更好来规范流程。

最后提交给数据库代码是:

来自 JSON:

List<UserEntity> users = JsonConvert.DeserializeObject<List<UserEntity>>(File.ReadAllText("Users.json"));

            foreach (var userData in users)
            {
                _db.Add(userData);
            }

或者来自 C# 类:

    foreach (var userData in UserSeedData.UserData)
    {
        _db.Add(userData);
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)