比方說,我有一個表X
與列:Name
,Role
。主頁面顯示Name's
列表X
。以某些特定用戶身份(指定了ASP.NET角色)登錄時,我想僅顯示Name's
的列表,其中Role
與當前登錄的用戶匹配。這是可能的,例如裝飾EF功能?我想避免在調用GetList
的應用程序中的所有地方編碼爲if's
。限制使用asp.net授權從數據庫訪問一些數據
我使用EF 6分貝第一,ASP.NET MVC 6
編輯
GetList
方法是GenericDataRepository的一部分:
public virtual IList<T> GetList(Expression<Func<T, bool>> where, params Expression<Func<T, object>>[] navigationProperties)
{
IQueryable<T> dbQuery = this.Context.Set<T>();
foreach (var navigationProperty in navigationProperties)
{
dbQuery = dbQuery.Include(navigationProperty);
}
var list = dbQuery.AsNoTracking().Where(@where).ToList();
return list;
}
是否有可能,但不能通過裝飾方法。通過過濾EF層中的角色是可能的。 –
@ChetanRanpariya通過「過濾」你的意思是改變所有'GetList'方法? –
GetList方法是哪個類的一部分?誰稱這種方法?你可以分享GetList方法的代碼嗎? –