所以我试图通过添加以下列来扩展 ApplicationUser 类。
- 创建用户 ID
- 创建日期
- 更新用户 ID
- 更新日期
这是我添加到 ApplicationCode 类的代码
[MaxLength(128)]
[Required(ErrorMessage = "Create User Id is Required.")]
public string CreateUserId { get; set; }
[ForeignKey("CreateUserId")]
public ApplicationUser CreateUser { get; set; }
public DateTime CreateDate { get; set; }
[MaxLength(128)]
public string UpdateUserId { get; set; }
[ForeignKey("UpdateUserId")]
public ApplicationUser UpdateUser { get; set; }
public DateTime? UpdateDate { get; set; }
我最终想要做的是CreateUserId
有一个外键约束指向ApplicationUser.Id
(必需),并且UpdateUserId
有一个外键约束指向ApplicationUser.Id
(可选)
我收到以下错误:
ApplicationUser_UpdateUser_Target::多重性在关系“ApplicationUser_UpdateUser”中的角色“ApplicationUser_UpdateUser_Target”中无效。因为从属角色属性不是关键属性,所以从属角色的多重性的上限必须是“*”。
谁能给我一些设置的指导?
编辑..
我想我明白了
public string UpdateUserId { get; set; }
public ApplicationUser UpdateUser { get; set; }
public string CreateUserId { get; set; }
public ApplicationUser CreateUser { get; set; }
public DateTime CreateDate { get; set; }
public DateTime? UpdateDate { get; set; }
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ApplicationUser>()
.HasRequired(a => a.CreateUser)
.WithMany()
.HasForeignKey(u => u.CreateUserId);
modelBuilder.Entity<ApplicationUser>()
.HasRequired(a => a.UpdateUser)
.WithMany()
.HasForeignKey(u => u.UpdateUserId).WillCascadeOnDelete(false);
base.OnModelCreating(modelBuilder);
}