Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityDataSource查询内部联接_C#_Entity Framework_Entitydatasource - Fatal编程技术网

C# EntityDataSource查询内部联接

C# EntityDataSource查询内部联接,c#,entity-framework,entitydatasource,C#,Entity Framework,Entitydatasource,我有一个带有3个表的DB: User{UserId,UserName} Role{RoleId,RoleName} User_Role{UserId,RoleId} 此查询: int userIdPassByUrl = 0; MyDbContext ctx = new MyDbContext(); var query = (from role in ctx.Role join userRole in ctx.User_Role on role.RoleId equals use

我有一个带有3个表的DB:

User{UserId,UserName}
Role{RoleId,RoleName}
User_Role{UserId,RoleId}
此查询:

int userIdPassByUrl = 0;
MyDbContext ctx = new MyDbContext();
var query = (from role in ctx.Role
        join userRole in ctx.User_Role on role.RoleId equals userRole.RoleId
        where userRole.UserId == userIdPassByUrl
        select new { role.RoleId, role.RoleName }).Distinct();
我需要在带有EntityDataSource的Gridview中显示上述查询的结果,可以在设计模式下对其进行编码或设置

这是我的EntitydataSource:

<asp:EntityDataSource ID="EdsRolesByUser" runat="server" 
        ConnectionString="name=myDbEntities"
        DefaultContainerName="myDbEntities" EnableFlattening="False"
        EntitySetName="Roles" EntityTypeFilter="Role"
        Select="it.[RoleId], it.[RoleName]">
    </asp:EntityDataSource>

任何帮助都将不胜感激,谢谢。

终于得到了。 必须修改EntityDataSource,删除EntitySetName和EntityTypeFilter 属性,并添加如下命令文本:

CommandText="SELECT DISTINCT userRole.RoleId, role.RoleName FROM Role AS role
INNER JOIN User_Role as userRole
ON role.RoleId = userRole.RoleId
WHERE userRole.UserId = @UserIdPassbyUrl"
此链接帮助我:

Hi Raphaël链接中的示例只有SELECT和WHERE,只有一个表,我真正的问题是用我的查询完成连接和不同的操作。所以它与entityDataSource无关,你只是要求一个有效的linq2entity查询?然后说你真正的问题是什么,以及你想从这个查询中得到什么……这个查询就是上面提到的,我想在一个使用EntityDataSource的GridView中显示结果,但我不知道怎么做。我编辑我的问题并显示我的EntityDataSource