2011-01-19 124 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> 

作业已完成