1
我正在用C#和Entity Framework 6.1 Code First開發.NET Framework 4.5庫。這是一個多對多的關係嗎?
我有以下兩類:
public class User
{
public int UserId { get; set; }
public string UserName { get; set; }
public ICollection<Group> Groups { get; set; }
public ICollection<Message> MessagesSent { get; set; }
public ICollection<Message> MessagesReceived { get; set; }
}
public class Message
{
public int MessageId { get; set; }
public string Body { get; set; }
public DateTime DateSent { get; set; }
public User Sender { get; set; }
public ICollection<User> Recipients { get; set; }
}
我該怎麼做才能生成收件人表?
我用流利的API和我有兩個類:
public class MessageConfiguration : EntityTypeConfiguration<Message>
和
public class UserConfiguration : EntityTypeConfiguration<User>
但我沒有什麼,我必須做生成Recipient
表。
我試圖來表示:
- 可以將消息發送給一個或多個收件人。
- 用戶(收件人)可以收到零個或多個消息(但他/她只能收到一條消息 )。
我的數據庫設計是否正確?
謝謝您的回答。我的數據庫設計也支持一條消息只能有一個收件人。我認爲它確實如此,但是你已經使用了'HasMany'和'WithMany'。如果我只有一個收件人並且只有一封郵件,是否有問題?我不這麼認爲,但這是我的疑問。謝謝。 – VansFannel
如果每封郵件只有一個收件人,爲什麼'Message.Recipients'是一個集合? – haim770
因爲消息可能有一個或多個收件人。就像一個Whatsapp羣組,您向羣組發送郵件,每個成員都會收到該郵件。 – VansFannel