tex*_*697 1 c# lambda asp.net-web-api
我过滤掉了用户在webapi Get call中可以看到的文档.Document对象中的CompanyName必须与分配了CompanyName的用户匹配.因此,如果分配了CompanyName1和CompanyName2的用户只能返回与其匹配的文档.
public List<Document> GetDocuments()
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var user = manager.FindById(User.Identity.GetUserId());
using (var context = new ApplicationDbContext())
{
return context.Documents
.Where(j => j.CompanyName == user.CompanyName1) || (j => j.CompanyName == user.CompanyName2) || (j => j.CompanyName == user.CompanyName2)
.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但这是我需要它做的.
错误1运算符'||' 不能应用于'System.Linq.IQueryable'和'lambda expression'类型的操作数
错误2运营商'.' 不能应用于'lambda表达式'类型的操作数
只使用y =>一次
return context.Documents
.Where(j => j.CompanyName == user.CompanyName1 ||
j.CompanyName == user.CompanyName2 ||
j.CompanyName == user.CompanyName2)
.ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |