我试图弄清楚如何适应用户权限和获取数据。这不是一个简单的任务
GetInvoices where Invoice.UserId = 5
所以我可以将 userId 传递给一个方法,但它非常复杂,而且我不想比要求的更深入,它会造成混乱。目前它的工作方式如下:View 调用 ViewModel 上的命令,ViewModel 调用存储库方法,该方法使用 EF 获取数据。现在我需要根据用户权限过滤这些数据。
从逻辑上讲,VIewModel 应该强制执行业务规则。这是否意味着我应该在 ViewModel 中创建 IQueriable,并将其传递给 Model?
或者,可以这样做
... if (LoggedUser.Role.Permissions.any(x=> x.PErmissionType == somePermission) && ....)
在(M)模型方面?