所以我仍然坚持我一直在处理的审计表。
这些是我的模型:
public interface Audit {
int AuditById {get;set;}
DateTime AuditOn {get;set;}
User AuditBy {get;set;}
}
User {
Id {get;set;}
Email {get;set;}
Password {get;set;}
}
Profile : Audit {
public int Id {get;set;}
public string Name {get;set;}
public int AuditById {get;set;}
public DateTime AuditOn {get;set;}
public User AuditBy {get;set;}
public User User {get;set;}
}
这是在我的 dbase 上下文中,以确保用户将具有所需的配置文件,但配置文件没有所需的用户。
Dbase: DbContext{
modelbuilder.Entity<Profile>()
.hasoptional(e => e.User)
.withrequired(u => u.Profile);
}
在我的种子上,这是我为我的第一个用户/管理员所做的:
var admin = new User{
Id = 1,
Email = 'email@email.com',
Password = 'woop',
Profile = new Profile {
Name = 'admin name',
AuditById = 1,
AuditOne = DateTime.Now
}
}
所以,我收到了这个错误:
“无法确定相关操作的有效排序。由于 fk 约束、模型要求或存储生成的值,可能存在依赖关系”
我知道 AuditById 导致它为 1,但保存时仍然不存在。有没有办法解决这个问题?或者关于我应该如何为用户和配置文件表建模的任何建议?即使没有用户,我也需要配置文件存在,而没有配置文件,用户就无法存在。
感谢您的帮助谢谢!