私の問題を詳細に説明しようと思います。次のシナリオがあります。
1.) ビジネス、customoffice(税関)、cusdesc(税関の説明) の 3 つのテーブルがあります。
この関係は、ビジネスが税関にあり、1 つの税関に多くの cusdesc があるという関係です。
テーブル business には、customoffice テーブルのフィールド cuscode への外部キーであるフィールド customofficeno があります。テーブル cusdesc には、customoffice テーブルのフィールド cuscode への外部キーであるフィールド cuscode があります。
目的は、エンティティフレームワークを使用して、税関と税関の説明を含むビジネスを選択することです。
2.) コード
データグリッドを埋めるプロシージャ FillData があります。私の目的は、3 つのテーブルのフィールドを表示することです。テーブル「Business」と「Customoffice」のデータを表示できましたが、テーブル「cusdesc」を介してカスタムオフィスの説明を表示し、フィールド「CSNAME」をより具体的にする必要があります。
3.) 私の問題は、("CUSTOMSOFFICE.CUSDESC") を含めると、結果にはテーブル "CUSDESC" からのデータが含まれず、条件に一致するレコード数だけが含まれるため、フィールド "CSNAME" にアクセスできないことです。
以下手順です。
using (var _context = new ReftabEntities())
{
try
{
SetGlobalValues();
ObjectQuery<BUSINESS> q_business = _context.BUSINESS.Where("it.BUSINESSNO=" + int.Parse(pv_businessno)).Where(string.Format("(it.BUSINESSSTART <= DATETIME'{0:yyyy-MM-dd HH:mm}') and (it.BUSINESSCLOSED >= DATETIME'{0:yyyy-MM-dd HH:mm}')", pv_date)).Include("CUSTOMSOFFICE").Include("CUSTOMSOFFICE.CUSDESC");
gvBusinessList.Caption = "Total records selected: " + q_business.Count();
gvBusinessList.DataSource = q_business;
gvBusinessList.DataBind();
}
catch (Exception e)
{
errorPopup.Text = e.Message;
errorPopup.ShowOnPageLoad = true;
}
finally
{
_context.Dispose();
}
}
}
私が間違っていることのヒントを教えてください。
前もって感謝します。