【发布时间】:2019-09-28 14:00:23
【问题描述】:
直到 .donet core 2.2 中使用的 EF 内核版本,在 .Add 命令之后,EF 用一个大的负数填充键列。
3.0 升级后不再发生这种情况。
代码如下:
var appointment = new Appointment
{
Date = DateTime.Today,
ProfessionalId = schedule.ProfessionalId
};
await service.AddAsync(appointment);
string message = null;
if (service.AddLastPrescription(appointment.Id, schedule.PacienteId))
....
问题是现在“appointment.Id”为零,调用服务函数会失败(FK错误)。
这种行为在 3.0 中是预期的吗?
更新
AddAsync 函数
private DbSet<T> dbSet;
public async Task AddAsync(T t)
{
await dbSet.AddAsync(t);
}
其中 T 是 ModelBase:
public class ModelBase
{
[Key]
public int Id { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
【问题讨论】:
标签: entity-framework asp.net-core entity-framework-core