Мне нужно создать представление в SQL Server и использовать его в GridView
на моей .aspx
странице.Представление отображается в моем приложении через 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
одно-ко-многим.
Мне нужно иметь возможность передать значение AdminRole
в моем приложении ASP.NET.
Я не могу использовать параметры в представлении (то есть использование @Role
недопустимо).
Только * представления и таблицы могут связываться с GridView
, поэтому хранимая процедура (где параметр может быть параметром) здесь не годится.
Есть ли обходной путь для использования LEFT OUTER JOIN
, возможно, вместоиз NOT EXISTS
?Таким образом, имея JOIN
в таблице UsersInRoles
, я могу сопоставить поля с UsersInRoles
через Entity Framework в моем приложении и добавить туда условия (с предложением EntityDataSource.Where
).