我想在用戶和帖子之間生成一個聯結表,我想在帖子表中添加userId。多對多有多餘的外鍵?
我有這樣的代碼
public class Post
{
public Post()
{
this.ApplicationUser = new HashSet<ApplicationUser>();
}
public int PostId { get; set; }
public string Message { get; set; }
public DateTime MessageDate { get; set; }
public virtual ApplicationUser User { get; set; } //this is the problem
public virtual ICollection<ApplicationUser> ApplicationUser { get; set; }
}
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
public ApplicationUser()
{
this.Posts = new HashSet<Post>();
}
public virtual ICollection<Post> Posts { get; set; }
}
我得到額外的接線表和用戶與柱之間的許多一對多的關係。但這是錯誤的。
public virtual ApplicationUser User { get; set; }
這產生在後表(applicationUser_id和USER_ID)和Post_PostId在用戶表中的兩個用戶ID。我只想在Post表中添加一個額外的字段,FK UserId。
我想三個表這樣
後
帖子ID 消息 日期 用戶ID FK
用戶
用戶ID 和TH在asp.net用戶身份字段
UserPosts
用戶ID電子其餘 帖子ID
請查看我的更新代碼 –