小编kjw*_*mme的帖子

Dictionary<string, object> 返回 long 而不是 int

我有一个看起来像这样的字典,它从 json 文件反序列化为 C# 字典

  {
      "Name": "option1",
      "Settings": {
        "setting1": 20,
        "setting2": 2
      }
  }
Run Code Online (Sandbox Code Playgroud)

所以我将其反序列化为一个可以工作的对象,但是当我尝试从字典中获取该值时,它变成了 long 而不是 int

        if (!settings.TryGetValue("setting1", out object setting))
        {
            setting = 10;
        }
Run Code Online (Sandbox Code Playgroud)

然后我在其他地方做了这样的事情:

if ((int)setting > 10) {//do something}
Run Code Online (Sandbox Code Playgroud)

然后它给了我一个 int64 无法转换为 int32 的错误

反序列化过程:

                using (StreamReader reader = new StreamReader(Startup.SettingsPath))
                {
                    SettingsModel settings = JsonConvert.DeserializeObject<SettingsModel>(reader.ReadToEnd()).Applications;

                    return settings

                }
Run Code Online (Sandbox Code Playgroud)

设置型号:

public class SettingsModel
{
    public string Name { get; set; }

    public IDictionary<string, object> Settings { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
1
解决办法
966
查看次数

实体框架核心种子数据

所以我有一个 Entity Framework Core 第一个数据库和一个 .Net Core 应用程序。

我想在创建数据库时向其中添加种子数据。我知道 FluentAPI 有 HasData 方法,但这不是我要找的。

创建数据库时,我想使用随机生成的密码(每次都不同)创建一个用户,该密码将保存在服务器的文件中。

我不能使用 HasData 方法,因为它每次都会创建相同的密码。

所以我的问题是:除了 HasData 方法之外,还有没有其他方法可以将 Seed 数据添加到 Entity Framework Core Code First 数据库中

c# entity-framework-core .net-core

4
推荐指数
1
解决办法
2438
查看次数

标签 统计

c# ×2

.net-core ×1

entity-framework-core ×1