Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Linq多对多_Sql_Linq - Fatal编程技术网

Sql Linq多对多

Sql Linq多对多,sql,linq,Sql,Linq,谁能帮我解决这个问题 用户有一个属性列表,属性有一个用户列表 我首先进行查询,以获取具有特定CompanyId的所有属性。这将生成一个新的列表,我们称之为MyProperties 我需要找到所有在MyProperties列表中拥有物业的租户。 出于其他原因,我无法访问“PropertiesUsers”联接表 对不起,如果看起来我还没想清楚的话,我整天都在忙这个 您可以使用来展平层次结构: var myProperties = dbContext.Properties.Where(property

谁能帮我解决这个问题

用户有一个属性列表,属性有一个用户列表

我首先进行查询,以获取具有特定CompanyId的所有属性。这将生成一个新的列表,我们称之为MyProperties

我需要找到所有在MyProperties列表中拥有物业的租户。

出于其他原因,我无法访问“PropertiesUsers”联接表

对不起,如果看起来我还没想清楚的话,我整天都在忙这个

您可以使用来展平层次结构:

var myProperties = dbContext.Properties.Where(property => property.CompanyId = companyId);
var tenants = myProperties.SelectMany(property => property.Tenants);

使用
相交

var myPropertyIds=MyProperties.Select(p=>p.PropertyId.ToArray();
var result=Users.Where(u=>myPropertyIds.Intersect(
u、 Properties.Select(p=>p.PropertyId))
.Any());
如果您确定两个列表中的属性都是您可以使用的相同实例

var result=Users.Where(u=>MyProperties.Intersect(
u、 属性)
.Any());

我整天都在忙着加入和拦截-谢谢