2

私はEntity Frameworkモデルを使用しています。 LINQの助けを借りて、エンティティとその関連データを1つのクエリで読み込もうとしています(つまり、熱心な読み込みを実装するため)。私は私のGridViewコントロールで受注テーブルの内容表示をするために自分のコードを修正するにはどうすればよいLINQを使用して関連するテーブルを表示する

<asp:Button ID="btn5" runat="server" Text="Button" onclick="btn5_Click" /> 
<asp:GridView ID="gv5" runat="server"></asp:GridView> 
<asp:TextBox ID="tb5" runat="server" TextMode="MultiLine"></asp:TextBox> 

:私は、次のASPコードを使用してい

protected void btn5_Click(object sender, EventArgs e) 
{ 
    using (EStoreEntities ctx5 = new EStoreEntities()) 
    { 
     var query = (from o in ctx5.Order_Details.Include("Order") select o); 
                  //Order -navigation property 

     tb5.Text = (queryas ObjectQuery).ToTraceString(); 
     gv5.DataSource = query; 
     gv5.DataBind(); 
    } 
} 

:ここ

は、コードビハインドです? ありがとうございます。 GridView` Order.ShippingDate` `のような点線のパスを持つ、などのみ結合自動列は直接の作品:私はあなたが関連するエンティティ(` Order`)のプロパティを指定する必要があります明示的に `ASPを信じ

+0

バインドされたエンティティのプロパティ( 'Order_Details')。おそらくここの 'asp:TemplateField'を使った例は役に立ちます:http://stackoverflow.com/a/2289408/270591私はあなたのEFクエリではなく、あなたのGridViewの定義に問題があると思う。 – Slauma

答えて

0
protected void btn5_Click(object sender, EventArgs e) 
{ 
    using (EStoreEntities ctx5 = new EStoreEntities()) 
    { 
     var query = ctx5.Order_Details.Select(x => new { 
                 Col1 = x.AAA, 
                 Col2 = x.BBB, 
                 Col3 = x.Order.AAA 
                }); 

     tb5.Text = (query as ObjectQuery).ToTraceString(); 
     gv5.DataSource = query; 
     gv5.DataBind(); 
    } 
} 
関連する問題