0

最初のテーブルには主キーがありますが、自動インクリメントではありません。もう 1 つのテーブルには主キーと自動インクリメントがあります。2 番目の主キーの値を最初の主キーに設定する必要があります。

TABLE1 primary key         TABLE2 primary key
zero or one   ------------ one

TABLE1に新しいレコードを挿入したときにこの関係があり、TABLE2主キーはTABLE1主キーに挿入されませんでした。値は 0 です。これを解決するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

自動的に設定されることはありません。Table2にレコードを追加し、 Table1Insertingメソッドで参照を自分で設定する必要があります。

それらの間に定義された関係があるからといって、Table2レコードもTable1 FKも自動的に追加されるわけではありません。

または、あなたが求めていたものを誤解しましたか?

編集:

partial void PERSONELs_Inserting(PERSONEL entity) 
{ 
    entity.refPersonelID = entity.Personelyetki.Id; 
}

refPersonelIDが単なる整数プロパティである場合、上記のコードは正常に機能するはずです。それが単なる整数プロパティではない場合、問題が何であるかはまだわかりません。どのようなエラーが発生していますか?

Table1 & Table2を使用して、ナビゲーション プロパティを設定する方法の例を示します。それらの間には1対多の関係があると想定しているため、Table1にはTable2sというナビゲーションコレクションプロパティがあり、Table2にはTable1というナビゲーションプロパティがあります。あなたが実際に何をしようとしているのか完全には理解できませんが、以下のコード例は、ナビゲーション プロパティを設定する正しい方法を示しています。

Table2 の Table1 プロパティを設定するには、次のようにします。

private void UpdateTable1
{
    //retrieve the Table1 entity that corresponds to the required integer ID value (someIdValue)
    var table = this.Details.DataWorkspace.ApplicationData.Table1Set.SingleOrDefault(someIdValue);

    //assign the retrieved entity to the navigation property
    this.Table1 = table;

    //you CAN'T do this
    this.Tbale1.ID = someIdValue;
}
于 2013-02-14T12:56:11.960 に答える