我需要在SQL Server中創建一個視圖,並在我的.aspx
頁面的GridView
中使用它。 該視圖通過實體框架映射到我的應用程序中。查看並不存在要在實體框架中使用的連接
這裏是我的例子:
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
,所以存儲過程(其中參數 可能是一個選項)在這裏不好。
是否有解決方法使用LEFT OUTER JOIN
而不是NOT EXISTS
? 這樣,在UsersInRoles
表上有JOIN
,我可以在我的應用程序中通過Entity Framework映射UsersInRoles
中的字段,我可以在那裏添加條件(使用EntityDataSource.Where
子句)。
歡迎來到SO。考慮註冊爲用戶。我編輯了你的問題,使其更具可讀性。 – Zabba