2012-06-04 6 views
2

가입 :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 userRole.RoleId 
     where userRole.UserId == userIdPassByUrl 
     select new { role.RoleId, role.RoleName }).Distinct(); 

가 나도, EntityDataSource와 GRIDVIEW 위 쿼리의 결과를 표시해야 코드를 지정하거나 디자인 모드로 설정하십시오.

어떤 도움을 주시면 감사하겠습니다
<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입니다.

+1

http://msdn.microsoft.com/en- us/library/cc488524.aspx –

+0

안녕하세요 Raphaël 링크의 샘플은 단 하나의 테이블 만 가지고 선택하고 있습니다. 나의 실제 문제는 쿼리와 조인 및 고유 작업을 수행하는 것입니다. – ramo2712

+0

entityDataSource와 아무런 관련이 없습니다. 작동중인 linq2entity 쿼리를 요청하는 중입니까? 그렇다면 실제 문제는 무엇이고이 쿼리에서 얻고 자하는 것이 무엇인지 말하십시오 ... –

답변

1

마지막으로 가져 왔습니다. 는 수정 EntityDataSource EntitySetName 및 EntityTypeFilter 속성을 제거해야하고,이 같은의 CommandText를 추가

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" 
이 링크는 나를 도와

: http://msdn.microsoft.com/en-us/library/aa697427(v=vs.80).aspx