我有以下表格
public class Area
{
public int AreaId {get;set;}
public string AreaName {get;set;}
}
public class User_AREA
{
public int UserId {get;set;}
public int AreaId {get;set;}
}
public class Customer
{
public int CustomerId {get;set;}
public int AreaId {get;set;}
public string CustomerName {get;set;}
}
我想让Linq Query给出结果:在Linq 中显示所有允许客户选择/登录的用户
var list = _customerService.GetAllCustomer(int UserId) {}
假设您有一个名为db
:的上下文对象
private List<Customer> GetAllCustomer(int UserId)
{
var CustomersByUser = (from a in db.User_AREA
join c in db.Customer
on a.AreaId equals c.AreaId
where a.UserId = UserId
select c).ToList();
return CustomersByUser;
}
上面连接了两个表,只返回与使用UserId
参数传递给方法的用户共享相同区域的客户。
您可以通过哪里过滤来获得所有客户。例如,
var list= _wheelingService.GetAllCustomer().Where(i=>User_AREA.Any(p=>p.AreaId ==i.AreaId && p.UserId==UserId);
感谢它的工作,但您忘记添加p.UserId==UserId