SQL Server에서 뷰를 만들고 페이지의 GridView
에서 사용해야합니다. 뷰는 Entity Framework를 통해 내 응용 프로그램에 매핑됩니다.View with Not Entity Framework에서 사용되는 조인
SELECT User.UserName, User.UserId
FROM User
WHERE NOT EXISTS (SELECT UsersInRoles.RoleId FROM UsersInRoles
WHERE UsersInRoles.UserId = User.UserId AND UsersInRoles.RoleId = 'AdminRole')
User
와 UsersInRoles
테이블 사이의 관계는 일대입니다 :
은 여기 내 예입니다.
내 ASP.NET 응용 프로그램에서 AdminRole
값을 전달할 수 있어야합니다.
보기에서 매개 변수를 사용할 수 없습니다 (예 : @Role
사용 불가).
뷰와 테이블 만 GridView
에 바인딩 할 수 있으므로 저장 프로 시저 (매개 변수 가 옵션 일 수 있음)가 좋지 않습니다.
NOT EXISTS
대신 LEFT OUTER JOIN
을 사용할 수있는 임시 해결책이 있습니까? UsersInRoles
테이블에 JOIN
이있는이 방법을 사용하면 UsersInRoles
에서 내 응용 프로그램의 Entity Framework를 통해 필드를 매핑 할 수 있으며 거기에 조건을 추가 할 수있었습니다 (EntityDataSource.Where
절 사용).
에 오신 것을 환영합니다. 사용자로 등록하는 것을 고려하십시오. 귀하의 질문을 더 쉽게 읽을 수 있도록 편집했습니다. – Zabba