2010-01-20 24 views
1

我有2個表A和B有多對多的關係。我正在使用嵌套中繼器在網頁中顯示數據。我的問題是,如何編寫一個ObjectQuery或IQueryable查詢,它返回A中的父行和B中的子行,以便我可以將它們用作我的內部和外部中繼器的數據源。我有我在下面寫的代碼,但我不確定它是正確的還是非常接近的。使用2實體框架查詢中的數據加載嵌套中繼器

<asp:Repeater ID="A" runat="server"><br/> 
    <ItemTemplate><br/> 
     <h2 class="Information"><br/> 
      <%# Eval("Name") %> (<%#Eval("Abbreviation")%>)<br/> 
     </h2><br/> 
     <hr/><br/> 
     <p> <%# Eval("Description")%> </p><br/> 
     <asp:Repeater ID="B" runat="server"><br/> 
      <ItemTemplate><br/> 
       <li><br/> 
        <a href="..Pages/Category.aspx?<%# Eval("ID") %>"><br/> 
         <%# Eval("Name") %><br/> 
        </a><br/> 
       </li>      <br/> 
      </ItemTemplate><br/> 
     </asp:Repeater><br/> 
    </ItemTemplate><br/> 
</asp:Repeater>  

這是迄今爲止我的C#代碼隱藏:

 using (DBEntities connection = new DBEntities()) 
     { 


      ObjectQuery<A> As = connection.A; 
      IQueryable<A> aQuery = from a in As 
               orderby a.SortOrder 
               select a; 


      TechnologyRepeater.DataSource = As; 
      DataBind(); 
     } 
+0

你是什麼意思,「將數據結合到實體框架中的最佳方式是什麼?」你的模型中有關聯嗎?如果不是,爲什麼不呢? – 2010-01-20 15:52:35

+0

我的模型有點令人困惑,因爲我有多對多的連接。我解決了這個問題,現在多對多顯示出沒有連接表的樣子。然後,我做了布賴恩所說的輸入」>。我需要在IQueryable中做些什麼或爲B添加另一個IQuerable來獲取數據?我不知道如何做一個」>,因爲Bs在我的系統中不存在。 – 2010-01-20 18:30:51

回答