0

私はEntityFrameworkを初めて使用しますが、今のところ、IDで親を読み込むことができます。

しかし、親をロードした後、親から子プロパティにアクセスしたいと思います。

    protected void getChild_Click(object sender, EventArgs e)
    {
        JeansEntities db = new JeansEntities();
        Employe employe = db.Employes.SingleOrDefault(p => p.Id == 3);

        uxCountry.Text = //(address.Country) Its the child of Employe, but I can acces by the parent
    }

ここに画像の説明を入力してください

ありがとう

4

2 に答える 2

1

これは、Addressの子も必要であることをクエリに通知することで実現できます。これは、「積極的な読み込み」を使用して行うことができます。これはによって行われますInclude("NavigationPropertyName")

protected void getChild_Click(object sender, EventArgs e)
{
    JeansEntities db = new JeansEntities();
    Employe employe = db.Employes.Include("Addresses")
       .SingleOrDefault(p => p.Id == 3);

    var address = employe.Addresses.FirstOrDefault();

    if (address != null)
        uxCountry.Text = address.Country;
}

これが機能するためには、edm間の関係EmployeAddressesedm内の関係を含める必要があります。

于 2012-12-08T20:10:20.530 に答える
0

linqクエリに含めるを使用できます。

Employe employe = db.Employes.Include(e=>e.Address).SingleOrDefault(p => p.Id == 3);

または、ナビゲーションプロパティが仮想の場合は、遅延評価を使用できます。この場合var address = employe.Address、DBContext dbが破棄されていないときに使用でき、EFはデータベースからそれを取得します。

更新:あなたはすべきです#using System.Data.Entity;

于 2012-12-08T20:06:21.167 に答える