使用实体框架为多对多表设定种子

本文关键字:种子 实体 框架 | 更新日期: 2023-09-27 18:28:49

我有一个会议实体和一个用户实体,它们具有多对多关系。

我正在使用Autopoco为用户和会议创建种子数据如何为EntityFramework创建的UserMeetings链接表添加种子数据?

链接表中有两个字段;Id和Meeting_Id。

我循环浏览autooco创建的用户列表,并附上随机数目的会议

以下是我目前为止的收获。

 foreach (var user in userList)
        {
            var rand = new Random();
            var amountOfMeetingsToAdd = rand.Next(1, 300);
            for (var i = 0; i <= amountOfMeetingsToAdd; i++)
            {
                var randomMeeting = rand.Next(1, MeetingRecords);
                //Error occurs on This line
                user.Meetings.Add(_meetings[randomMeeting]);
            }
        }

我得到了一个"对象引用未设置为对象实例"尽管我试图附上的会议记录确实存在。

为了获得信息,所有这些都发生在我将上下文保存到DB之前。

使用实体框架为多对多表设定种子

这一行上有4件事理论上可能为空,这会给你带来错误:

  • 用户
  • 会议
  • _会议
  • 随机会议

试着把一些if语句放在前面,检查是否有空值。

我的猜测是_meetings为空,但这只是猜测。