我正在使用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; }
}
如何生成收件人表?
我使用的是Fluent API,我有两个类:
public class MessageConfiguration : EntityTypeConfiguration<Message>
和
public class UserConfiguration : EntityTypeConfiguration<User>
但我不知道如何生成Recipient
表格。
我试图代表这一点:
我的数据库设计是否正确?
答案 0 :(得分:1)
试试这个:
public class MessageConfiguration : EntityTypeConfiguration<Message>
{
public MessageConfiguration()
{
this.HasMany(x => x.Recipients)
.WithMany(x => x.MessagesReceived)
.Map(x => x.ToTable("MessageRecipients")
.MapLeftKey("MessageId")
.MapRightKey("UserId"));
}
}
(请注意,我将表名设置为MessageRecipients
而不是Recipients
)