2011-01-19 150 views
0

我想2實體(AppRoles和AppUsers)進行選擇,實體框架4.0 - EntityDataSource多對多關係查詢?

如果在SQL,我會做到這一點,例如:

SELECT u.*, r.* FROM AppUsers u ,AppRoles r WHERE u.RoleID = r.RoleID 

此外,它可以使用LINQ語法的代碼來完成-背後。

但是,我不知道如何在EntityDataSource

下面要做的就是我的加價:

<asp:EntityDataSource ID="edsUsers" runat="server" 
    ConnectionString="name=ReferralDBEntities" 
    DefaultContainerName="ReferralDBEntities" EnableFlattening="True" 
    EntitySetName="AppUsers" 
    Include="AppRoles" 
    Select="it.AppUsers, it.AppRoles" 
    Where="it.AppUsers.RoleID = it.AppRoles.RoleID" 
    > 
</asp:EntityDataSource> 

但它顯示錯誤。

+1

「但它顯示了錯誤。」 - **什麼錯誤?? ** – RPM1984 2011-01-19 07:33:36

回答

0

舊帖子未回覆。

嘗試刪除選擇=「it.AppUsers,it.AppRoles」

,否則我不知道你的兩個表之間的關係是如何建立的EDMX。你可能也想檢查一下。

1

假設你希望所有用戶的列表中的每個角色

,並假設你有一個3表結構即用戶,UserInRoles,UserRole的

然後

<asp:EntityDataSource ID="edsUsers" runat="server" 
    ConnectionString="name=ReferralDBEntities" 
    DefaultContainerName="ReferralDBEntities" EnableFlattening="True" 
    EntitySetName="UserInRoles" 
    Include="UserRole, User" 
    Select="it.User.FullName, it.UserRole.Name"> 
</asp:EntityDataSource> 

作業已完成