[英]Is this a many-to-many relationship?
我正在使用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
表。
我试图代表这个:
我的数据库设计正确吗?
尝试这个:
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
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.