我有一节课
ApplicationUser
继承自
IdentityUser
. 我添加了属性
LastLoggedIn
哪个是
OffsetDateTime
数据类型,我用对api的每个请求修改它。而且,我正在使用
Audit
从EntityFrameworkPlus到日志用户添加/更新/删除操作,这就是我遇到这个问题的原因。每次我更新
应用程序用户
实体的
拉斯洛吉丁
我可以看到
Id
属性也已修改,显示相同的新旧值。为什么我的主键在这里被修改?
我发布了相关代码,
public class ApplicationUser : IdentityUser {
[Required, StringLength(50)]
[Display (Name = "First Name")]
public string FirstName { get; set; }
public OffsetDateTime? LastLoggedIn { get; set; }
}
方法调用实体,因为类继承自
身份用户
我正在使用
UserManager
public async Task UpdateUserLastActivityDateAsync (string userId, string timeZone) {
var user = await userManager.FindByIdAsync(userId);
user.LastLoggedIn = timeZone.GetInstantOffsetDateTime();
await unitOfWork.CompleteAsync();
}
我试过了以下几点但我有个例外,
builder.Entity<ApplicationUser>()
.Property(e => e.Id)
.ValueGeneratedOnAddOrUpdate()
.Metadata.BeforeSaveBehavior = PropertySaveBehavior.Ignore;
属性“id”不能配置为“valuegeneratedonupdate”或
“valuegeneratedonaddorupdate”,因为无法更改键值
将实体添加到存储区后。