Une erreur s'est produite pendant la mise à jour des entrées. Voir l'exception interne pour plus de détails. - Asps.net MVC 3
je vais avoir cette exception venant à chaque fois que je courir et essayer de créer le post..
je suis un simple Utilisateur,publier,Commenter,Balise d'entité. qui a des relations d'association défini par moi. quand je suis à la vérification de la innerException il dit "Cannot insert the value NULL into column 'CommentID', table " ...
et son pointant vers mon contexte où j'ai une relation définie..s'il vous plaît vérifier ma relation et de m'aider à trouver ça où j'ai delclared que null n'est pas autorisé dans les Commentaires d'ID...
- 1 utilisateur peut avoir plusieurs postes, peut créer de nombreux tags, peuvent avoir de nombreux
commentaires - 1 poste peut avoir 1 utilisateur, de nombreux commentaires, et peut avoir de nombreuses balises
- 1 balise peut contenir 1 utilisateur, de nombreux post
- 1 commentaire peut avoir 1 utilisateur, 1 poste
De la relation...
modelBuilder.Entity<User>().HasMany(p => p.Posts).WithRequired(u => u.Users).HasForeignKey(P=>P.UserID);
modelBuilder.Entity<User>().HasMany(t => t.Tags).WithRequired(u => u.Users);
modelBuilder.Entity<User>().HasMany(c => c.Comments).WithRequired(u => u.Users);
modelBuilder.Entity<Post>().HasRequired(u => u.Users).WithMany(p=>p.Posts);
modelBuilder.Entity<Post>().HasMany(t => t.Tags).WithMany(p => p.Posts);
modelBuilder.Entity<Post>().HasOptional(c => c.Comments);
modelBuilder.Entity<Comment>().HasRequired(u => u.Users);
modelBuilder.Entity<Comment>().HasRequired(p => p.Posts);
modelBuilder.Entity<Tag>().HasRequired(u => u.Users);
modelBuilder.Entity<Tag>().HasMany(p => p.Posts).WithMany(t => t.Tags);
Utilisateur Modèle
[ScaffoldColumn(true)]
[Key]
public int UserID { get; set; }
[StringLength(15)]
[DisplayName("First Name")]
[Required(ErrorMessage="First Name is Required")]
public string FirstName { get; set; }
[StringLength(15)]
[DisplayName("Last Name")]
[Required(ErrorMessage = "Last Name is Required")]
public string LastName { get; set; }
[DataType(DataType.EmailAddress,ErrorMessage="please enter valid email")]
[DisplayName("Email Address")]
[Required(ErrorMessage = "Email is Required")]
[Remote("CheckUniqueEmail","User",ErrorMessage="An account with this email address already exists.")]
public string Email { get; set; }
[DataType(DataType.Password)]
[Required(ErrorMessage = "Password is Required")]
public string Password { get; set; }
[DataType(DataType.Date)]
[ScaffoldColumn(true)]
public DateTime JoiningDate { get; set; }
[DataType(DataType.Date)]
[ScaffoldColumn(true)]
public DateTime? LastActivityDate { get; set; }
public virtual ICollection<Post> Posts { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
Modèle Post
[Key]
[ScaffoldColumn(true)]
public int PostID { get; set; }
[Required(ErrorMessage="Required")]
[StringLength(250)]
public string Title { get; set; }
[Required(ErrorMessage="Required")]
[DataType(DataType.MultilineText)]
public string Body { get; set; }
[DataType(DataType.Date)]
public DateTime DateCreated { get; set; }
[DataType(DataType.Date)]
public DateTime DateModified { get; set; }
[ScaffoldColumn(false)]
public int UserID { get; set; }
[ScaffoldColumn(false)]
public int? CommentID { get; set; }
[ScaffoldColumn(false)]
public int? TagID { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
public virtual User Users { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
Modèle = Commentaire
[Key]
[ScaffoldColumn(true)]
public int CommentID { get; set; }
[DisplayName("Your Comment")]
public string Body { get; set; }
[DataType(DataType.Date)]
[ScaffoldColumn(true)]
public DateTime DateCreated { get; set; }
[ScaffoldColumn(true)]
public int PostID { get; set; }
[ScaffoldColumn(true)]
public int UserID { get; set; }
public User User { get; set; }
public Post Posts { get; set; }
modèle = Tag
[Key]
[ScaffoldColumn(true)]
public int TagID { get; set; }
[StringLength(15)]
public string Name { get; set; }
[ScaffoldColumn(true)]
public int UserID { get; set; }
public User Users { get; set; }
public ICollection<Post> Posts { get; set; }
- vous pouvez poster vos modèles ici?
Vous devez vous connecter pour publier un commentaire.
Vous devez poster vos Modèles d'ici pour aller dans plus de détails.Mais comme je peux voir, il ya plusieurs problèmes avec votre modèle de configuration.
Comme vous l'avez dit,
alors, quel est le point de garder colllection d'utilisateurs dans
Comment
il devrait être comme ceci
et c'est aussi appliquée pour
Post
ainsi.public User User { get; set; }
. Et quelle est la posint de garder 'CommentId' en post?PostId
dansComment
modèle.