1

派生プロパティを返す部分クラスがあります。

public partial class Consultation
{
    public string Name
    {
        get
        {
            string n = string.Empty;
            n += employee.FirstName;
            n += " " + employee.LastName;
            return n;
        }
    } 
}

ビジネスロジックレイヤー関数で、これらのエンティティのリストを返します。

using (var Context = new MMEntities())
{

   var cons = Context.Consultations;
   return cons.ToList();

}

.aspxページには、エンティティの派生プロパティを使用するデータバインドコントロールがあります。

DataTextField="Name"

ただし、コンパイル時に次のようになります。

The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.

'Using'ステートメントでラップしたため、ObjectContextが破棄されたことを理解しています。

私の質問は次のとおりです。returnメソッドに派生したNameプロパティを(熱心にロードして)含めるにはどうすればよいですか?.Includeメソッドは、ナビゲーションプロパティでのみ機能し、長寿命のObjectContextを使用したくありません。

どうもありがとう...

4

1 に答える 1

0

プロパティを熱心に使用することはありませんが、Nameプロパティを機能させるには、依存するナビゲーションプロパティを熱心にロードする必要があります。したがってemployee、例でナビゲーションプロパティの場合は、それを積極的にロードする必要があります。そうしないと、Nameプロパティは遅延読み込みとリビングコンテキストに依存します。

于 2012-04-16T09:44:04.003 に答える