0

我的数据库中有一个名为 Impacts 的表,它有两个来自 Component Table 的名为 cmpt_name 和 cmpt_reference 的 foring 键。

我想将一些数据添加到我使用 Impact 表创建的 ObservableCollection 中。但我不能向它添加 cmpt_name 和 cmpt_reference 吗?

public ObservableCollection<Impact> ModelListe { get; set; }

private Impact model;

public Project_Questions_Window()
{
    InitializeComponent();

    ModelListe = new ObservableCollection<Impact>();
    DataContext = this;
}

public void addData()
{
     model = new Impact();
     **model.Component.cmpt_name = comboBoxComponents.Text;**
     model.impt_name = textBoxQuestion.Text;
     **model.Component.cmpt_reference = comboBoxComponents.SelectedValuePath;**
     ModelListe.Add(model);
}

我在突出显示的行中出现错误,它说:

你调用的对象是空的。

谁能告诉我如何解决它?我使用实体模型数据库。

4

1 回答 1

1

当你新建一个Impact实例时,我很确定它还不包含 a Componentmodel.Component这里的空对象也是如此。

我不知道您的业务逻辑,但我认为补救措施是Component从数据库中获取 s 并使用这些预先存在的组件填充组合框。现在,当您创建一个新组件时Impact,您无需设置其组件的名称,而是设置其Compenent属性:

model.Component = comboBoxComponents.SelectedValue;
于 2013-03-26T10:40:48.487 回答