2013-10-17 35 views
1

我想從實體框架的數據庫中獲取數據,並在listview中顯示,我想在實體框架中實現連接,但它返回null!我在我的數據庫中有數據。加入對我不起作用

我的代碼:

using (var context = new MyEntities()) 
     { 
      IEnumerable<Core_Permissions> MyList = (from p in context.Core_Permissions 
       from rp in context.Core_RolePermissions 
       where p.PermissionID == rp.PermissionID 
       where rp.RoleID == roleid 
       select p).ToList(); 
      lvGranted.DataSource = MyList; 
      lvGranted.DataBind(); 

     } 

或:

(from p in context.Core_Permissions 
    join rp in context.Core_RolePermissions 
    on p.PermissionID equals rp.PermissionID select rp).ToList(); 

HTML:

<asp:ListView ID="lvGranted" runat="server" > 
    <LayoutTemplate> 
     <ul id="sortable1" class="connectedSortable" style="min-height: 200px;width: 300px;border: 1px solid black;"> 
     <li id="itemPlaceholder" runat="server"></li> 
    </ul> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <li id="itemPlaceholder" runat="server" > 
      <label id='<%#Eval("PermissionID") %>'><%#Eval("RoleID") %></label> 
     </li> 
    </ItemTemplate> 
</asp:ListView> 

在另一方面我喬恩查詢返回空!但我的數據庫中有數據。

+0

使用探查並查看生成的查詢或張貼在這裏生成的查詢。 – Win

+0

對不起,但我應該如何使用Profiler? –

+0

EXEC sp_executesql的N'SELECT [Extent1] [PermissionID] AS [PermissionID], [Extent1] [PermissionGroupID] AS [PermissionGroupID], [Extent1] [PermissionName] AS [PermissionName], [Extent1]。 [PermissionTitle] AS [PermissionTitle] FROM [dbo]。[Core_Permissions] AS [Extent1] INNER JOIN [dbo]。[Core_RolePermissions] AS [Extent2] ON [Extent1]。[PermissionID] = [Extent2]。[PermissionID] WHERE [Extent2]。[RoleID] = @ p__linq__14',N'@ p__linq__14 int',@ p__linq__14 = 1 –

回答

0

這不是一個答案。你問我如何使用Profiler -

SQL SERVER – Introduction to SQL Server 2008 Profiler

enter image description here

+0

謝謝我的朋友。 –

+0

我錯的兄弟,我有兩張相同的表,在一個我有數據,在另一個我沒有數據在Core_RolePermissions現在它返回我的數據。非常感謝你 –

+0

@KamranSadin我很高興你明白。如果這回答了您的問題,請將其標記爲**答案**。 – Win