、私はこのエラーを取得するタイプ「会話」に関する宣言されたプロパティではありません会話とユーザーは2つの1対多の関係に接続されているため、対話とユーザーのマッピング関係にあります。ナビゲーションプロパティ「SENDERIDは、」私は更新-データベースをしようとすると
ユーザーと会話の接続方法は次のとおりです。
ユーザー:
public class User
{
[Key]
[HiddenInput(DisplayValue = false)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid UserId { get; set; }
public virtual ICollection<Conversation> ConversationSenders { get; set; }
public virtual ICollection<Conversation> ConversationRecievers { get; set; }
会話:
ユーザー:
public class User
{
[Key]
[HiddenInput(DisplayValue = false)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid UserId { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid CollegeId { get; set; }
public int RoleId { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Surname { get; set; }
public string Gender { get; set; }
//role
public DateTime? DateOfBirth { get; set; }
public string ImageURL { get; set; }
[ForeignKey("CollegeId")]
public virtual College College { get; set; }
[ForeignKey("RoleId")]
public virtual UserRole UserRole { get; set; }
public virtual ICollection<Advert> Adverts { get; set; }
public virtual ICollection<Competition> Competitions { get; set; }
public virtual ICollection<Message> Messages { get; set; }
public virtual ICollection<Conversation> ConversationSenders { get; set; }
public virtual ICollection<Conversation> ConversationRecievers { get; set; }
public virtual ICollection<UserOS> UserOses { get; set; }
会話:
ここpublic class Conversation
{
[Key]
[HiddenInput(DisplayValue = false)]
public Guid ConversationId { get; set; }
[ForeignKey("SenderId")]
public Guid SenderId { get; set; }
[ForeignKey("RecieverId")]
public Guid RecieverId { get; set; }
[InverseProperty("ConversationSenders")]
public virtual User Sender { get; set; }
[InverseProperty("ConversationRecievers")]
public virtual User Reciever { get; set; }
}
は、全体のコードです
public class Message
{
[Key]
[HiddenInput(DisplayValue = false)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid MessageId { get; set; }
[HiddenInput(DisplayValue = false)]
public Guid UserId { get; set; }
[HiddenInput(DisplayValue = false)]
public Guid ConversationId { get; set; }
public string Text { get; set; }
public bool? IsSeen { get; set; }
[ForeignKey("UserId")]
public virtual User ConversationSender { get; set; }
[ForeignKey("ConversationId")]
public virtual Conversation Conversation { get; set; }
}
私はそれらを削除し、それでも同じエラー – hyperN
あなたは、送信者のためのコードを投稿することができますし、受信機も同様に? –
@ Behnam Esmaili 送信者と受信者は実際にはユーザーですが、会話からユーザーへの1対多の接続が2つあります。コードでそれらを検索することはできますが、ここでその部分を確認することができますコードを読んでください: ユーザー 'public virtual ICollection <会話> ConversationSenders {get;セット; } public仮想ICollection <会話> ConversationRecievers {get;セット; Behnam Esmail 会話 '[ForeignKeyの( "のSenderID")] 公共のGuidのSenderID {得る@} ' – hyperN