Je veux générer une table de jonction entre l'utilisateur et la publication et je veux avoir l'ID utilisateur dans la table de la poste.Beaucoup à beaucoup avec clé étrangère supplémentaire?
J'ai ce code
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; }
}
Je reçois la table de jonction supplémentaire et beaucoup à plusieurs rapports entre l'utilisateur et après. Mais c'est faux.
public virtual ApplicationUser User { get; set; }
Ceci génère deux UserId dans le tableau de poste (applicationUser_id et User_id) et Post_PostId dans le tableau de l'utilisateur. Je veux juste un champ supplémentaire dans la table Post, FK UserId.
Je veux trois tableaux comme celui-ci
Poster
postID message Date de UserId FK
utilisateur
UserId et e e reste des champs utilisateur d'identité asp.net
UserPosts
UserId postID
vérifier mon code mis à jour –