0

データベースにImpactsというテーブルがあり、コンポーネントテーブルのcmpt_nameとcmpt_referenceという2つのフォアリングキーがあります。

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、まだ含まれていないと確信していますComponent。ここmodel.Componentにnullオブジェクトもあります。

あなたのビジネスロジックはわかりませんが、救済策はComponentデータベースからsをフェッチし、コンボボックスにこれらの既存のコンポーネントを追加することだと思います。これで、新しいものを作成するときに、Impactそのコンポーネントの名前を設定せずに、そのCompenentプロパティを設定します。

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