多層分離を維持しながら、ASP.net DropDownList をエンティティ フレームワーク クエリの結果にバインドしようとしています。(つまり、UI コードにクエリの詳細を含めたり、データ レイヤー コードに UI の依存関係を含めたりしたくありません。) Page_Load イベント ハンドラーのコード ビハインドは次のようになります。
IEnumerable<Lookup> TypesLookup = Business.DocumentBO.GetDocumentTypes(_LookupTypeID);
DocTypeDropDownList.DataSource = TypesLookup;
DocTypeDropDownList.DataTextField = "Description";
DocTypeDropDownList.DataValueField = "LookupID";
DocTypeDropDownList.DataBind();
私のデータ コードは次のようになります (中間のビジネス レイヤーもありますが、まだ処理は行われておらず、パススルーのみです)。
public static IEnumerable<Lookup> GetLookups(int LookupTypeID)
{
using (VLFDocumentEntities context = new VLFDocumentEntities())
{
IEnumerable<Lookup> l = (from c in context.Lookup
where c.LookupTypeID == LookupTypeID
select c);
return l;
}
}
DocTypeDropDownList.DataBind(); に到達すると、「DocTypeDropDownList.DataBind();」というメッセージとともに ObjectDisposedException がスローされます。これに取り組むための最良の方法について誰かが私にアドバイスできますか?
ありがとう、アンディ