сообщения об ошибке, которое я получаю следующее ----- MVCRegistration.Models.Post_UserProfile:: Кратность конфликтует с ограничением ссылочного в ролях «Post_UserProfile_Target» в отношениях «Post_UserProfile». Поскольку все свойства в зависимой роли не имеют значения NULL, множественность главной роли должна быть «1». MVCRegistration.Models.PostComment_UserProfile:: Множественность конфликтует с реляционным ограничением в роли «PostComment_UserProfile_Target» в отношении «PostComment_UserProfile». Поскольку все свойства в зависимой роли не имеют значения NULL, множественность главной роли должна быть «1». здесь MVCRegistraion - это имя файла решения.множественность конфликтов с реляционными ограничениями в роли
Теперь у меня есть три класса, как это ---
public class UserProfile
{
public UserProfile()
{
this.PostComments = new HashSet<PostComment>();
this.Posts = new HashSet<Post>();
}
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string AvatarExt { get; set; }
public virtual ICollection<PostComment> PostComments { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
и пост класс что-то вроде этого ----
public class Post
{
public Post()
{
this.PostComments = new HashSet<PostComment>();
}
[Key]
public int PostId { get; set; }
public string Message { get; set; }
public int PostedBy { get; set; }
public System.DateTime PostedDate { get; set; }
public virtual ICollection<PostComment> PostComments { get; set; }
public virtual UserProfile UserProfile { get; set; }
}
и PostComment является ----
public class PostComment
{
[Key]
public int CommentId { get; set; }
public int PostId { get; set; }
public string Message { get; set; }
public int CommentedBy { get; set; }
public System.DateTime CommentedDate { get; set; }
public virtual Post Post { get; set; }
public virtual UserProfile UserProfile { get; set; }
}
Я установил отношения между многими между классами USerProfile и классом Post, как это, используя беглый api ---
modelBuilder.Entity<Post>()
.HasOptional<UserProfile>(u => u.UserProfile)
.WithMany(p => p.Posts)
.HasForeignKey(s => s.PostedBy);
и один ко многим отношений между USERPROFILE и оставить комментарий класса, как этот -----
modelBuilder.Entity<PostComment>()
.HasOptional<UserProfile>(u => u.UserProfile)
.WithMany(p => p.PostComments)
.HasForeignKey(s => s.CommentedBy);
Теперь я frustated выяснить, что происходит здесь. Это так просто, глядя в код сначала, чтобы создать внешний ключ с именем EditBy, но структура сущности делает вещи хуже. Не знаю, какая инфраструктура сущности требуется сейчас.
Итак, что делать, если вы получаете эту ошибку из nullable Guid ('Guid?'). Что-нибудь еще, чтобы проверить, что происходит? – mmcrae