我的模型如下:
class ModelA {
public int ID { get; set; }
public string PersonName { get; set;}
ICollection<ModelB> TaskList { get; set; }
}
class ModelB {
public int ID { get; set; }
public string TaskDescription { get; set; }
public int ModelAID { get; set; }
public ModelA Person { get; set; }
}
在控制器中,我使用以下代码向ModelA添加新行,其中包含行ModelB:
IEnumerale<ModelB> BList = ....;
ModelA row = new ModelA() { PersonName = 'John' };
foreach (bRow in BList) {
row.TaskList.add(bRow);
}
从上面的代码中,我收到了“ row.TaskList.add(bRow)”行的错误消息,该错误消息指出无法将行添加到空对象中。
我只想问一下,用相关数据创建新行是不正确的方法吗?如何完成任务而不会出现错误?我不想将过程分为两步,首先创建一行ModelA,然后通过其他方法插入ModelB列表。
谢谢!
威尔逊
答案 0 :(得分:1)
为避免异常,请稍稍更改您的课程...
class ModelA {
public ModelA()
{
TaskList = new Collection<ModelB>();
}
public int ID { get; set; }
public string PersonName { get; set;}
ICollection<ModelB> TaskList { get; set; }
}