今天我已将我的项目更新为 DotNetCore 2.2。从那时起,我从 Npgsql.PostgresException 收到非空约束列错误,即使值存在。
Npgsql.PostgresException:23502:“ItemCode”列中的空值违反非空约束
[HttpPost]
public async Task<IActionResult> PostItem([FromBody] JObject data)
{
PKTable pkt = JsonConvert.DeserializeObject<PKTable>(data["pkd"].ToString());
List<FKTable> fkts = JsonConvert.DeserializeObject<List<FKTable>>(data["fkd"].ToString());
pkt.itemCode = "ABCD"; // Primary Key Column
_context.PKTables.Add(pkt);
try
{
if (await _context.SaveChangesAsync() > 0) // PKTable
{
fkt.ForEach(u => { u.itemCode = item.itemCode; }); // Data present here in debug
_context.FKTables.AddRange(fkts); // Data present here in debug
await _context.SaveChangesAsync(); // Throws error.
}
}
catch (DbUpdateException ex)
{ throw; }
return Ok(new { r = item.itemCode });
}