0

State = Additionalを持つエンティティのNavigationalプロパティにアクセスしようとしていますが、Navigationalプロパティがnullです。

    using (var myc = new DBTestEntities())
    {
        var cust = new Customer();
        cust.CustomerName = "New Customer";
        cust.BusinessTypeID = 1;  // This is a valid BusinessTypeID present in BusinessType table

        myc.Customers.Add(cust);
        // at this point cust.BusinessType is null
        Console.WriteLine(cust.BusinessType.BusinessTypeName);
    }

この場合、ナビゲーションプロパティにアクセスする方法を誰かに教えてもらえますか。

4

3 に答える 3

0

Customer クラスに BusinessType プロパティが必要です。

そこで、Businesstype を次のように設定できます。

cust.BusinessType = (from x in myc.BusinessTypes where x.Id=1 Select x).First();
于 2012-12-11T09:51:34.870 に答える
0

ラインの後

myc.Customers.Add(cust);

あなたは付け加えられます

myc.ChangeTracker.DetectChanges();

これにより、リレーションシップの修正と呼ばれるプロセスがトリガーされます。このプロセスでは、EF が外部キーに関連するすべてのプロパティを同期します。BusinessTypeオブジェクトがまだコンテキストにない場合、オブジェクトがデータベースからフェッチされます。

于 2012-12-11T10:58:58.490 に答える
0

私はあなたがする必要があると思います:

myc.SaveChanges();

実際にエンティティをデータベースに送信します。

于 2012-12-11T09:53:43.537 に答える