2012-03-24 52 views
0

我有一个会议实体和一个拥有多对多关系的用户实体。使用实体框架播种多对多的表

我正在使用Autopoco为用户和会议创建种子数据如何将由EntityFramework创建的UserMeetings链接表与种子数据结合起来?

链接表中有两个字段; User_Id和Meeting_ID。

我通过循环用户的列表autopoco创建和附加会议

的随机数,这里就是我这么远。

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]); 
      } 

     } 

我得到了'没有设置对象实例的对象引用'。即使我想要附加的会议记录确实存在。

有关信息,所有这些都发生在将上下文保存到数据库之前。

+0

在哪一行发生此错误? – 2012-03-24 17:16:29

+0

上的用户.Meetings.Add(_meetings [randomMeeting]);更新了 – MrBliz 2012-03-24 17:23:02

回答

2

还有一些对4分线的东西,理论上是零,这将使你的错误:

  • 用户
  • 会议
  • _meetings
  • randomMeeting

尝试把一些if语句在前面检查空值。

我的猜测是_meetings是null,但这只是一个猜测。

+0

其会议(not_meetings)为空的问题中的代码。但当然它是空的,因为我还没有添加它? – MrBliz 2012-03-24 17:29:52

+2

你还没有添加任何项目,你需要在用户的构造函数中添加代码来创建一个空的会议列表 – 2012-03-24 17:44:06

+0

这样做的伎俩,非常感谢。 – MrBliz 2012-03-24 18:32:02