比方说,我有一个表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方法的代码吗? –