【问题标题】:NOT NULL constraint failed in SQLIte and EFSQLIte 和 EF 中的 NOT NULL 约束失败
【发布时间】:2021-09-04 11:43:06
【问题描述】:

我有一个关于 SQLite 的NOT NULL constraint failed 问题。我正在使用 NET 5.0 和 EF Core

这失败了

var settingsDal = new DalCf.Settings();
dc.Settings.Add(settingsDal);
settingsDal = GetUpdatedSettings();
await DataAccess.Save(dc);

此代码有效

var settingsDal = new DalCf.Settings();
settingsDal = GetUpdatedSettings(); //swapped
dc.Settings.Add(settingsDal);       //swapped
await DataAccess.Save(dc);

我不明白为什么。我会认为将 settingsDal 添加到 List 不会切断引用?

【问题讨论】:

    标签: sqlite entity-framework-core


    【解决方案1】:

    GetUpdatedSettings() 返回一个新对象并带有:

    settingsDal = GetUpdatedSettings();
    

    settingsDal 指的是那个新对象。

    和这里定义的不一样:

    var settingsDal = new DalCf.Settings();
    

    之前添加到列表中的是:

    dc.Settings.Add(settingsDal);
    

    所以,当代码到达该行时:

    await DataAccess.Save(dc);
    

    列表不包含GetUpdatedSettings() 返回的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-22
      • 2018-08-24
      • 2022-01-19
      • 2021-11-16
      • 2020-12-18
      • 2021-03-20
      • 2020-02-11
      • 2019-02-13
      相关资源
      最近更新 更多