根据条件得到两个实体集合的差集/获取一个集合数据中包含的多个数据

根据条件得到两个实体集合的差集
//通过 ExceptBy方法筛选条件,和另一个数据源的条件进行对比,展示源数据不包含的
var fields = this.Queryable.Where(m => m.ProjectId == project_id).ToArray();
         return  _projectGlobalField.Value.Queryable.ExceptBy(fields.Select(l => l.Name), g => g.Name).ToArray();

获取一个集合数据中包含的多个数据

通过contains方法,由需要的数组集合包含源数据的需要的属性进行获取
var fields = _projectGlobalField.Value.Queryable.Where(m => field_ids.Contains(m.Id));

 C#中数组的

交集:Intersect  差集:Except  交集 : Union

int [] arr1={1,2,3,4,5};

int[] arr2={1,5,6,7,8};

var 交集=arr1.Intersect(arr2).ToList();//1,5

var 并集=arr1.Union(arr2).ToList();//1,2,3,4,5,6,7,8

//取差集时,主集合不同,取得结果不同

var arr1相对arr2差集=arr1.Except(arr2).ToList();//2,3,4

var arr2相对于arr1差集=arr2.Except(arr1).ToList();//6,7,8

posted @ 2022-04-26 11:05  咳咳Pro  阅读(166)  评论(0)    收藏  举报