将项目列表与DataTable中的一个列进行比较

本文关键字:一个 比较 列表 项目 DataTable | 更新日期: 2023-09-27 17:50:40

我有一个2列的数据表(ProjectId, ServerGroupID)

DataTable projectRestrictionList = new DataTable();    
projectRestrictionList =
               GetProjectRestrictionDatatable(projectID, serverGroupIds);

我有一个项目列表"sgRestrictedServerGroups"

List<Dell.AFP.Entity.ServerGroup> sgRestrictedServerGroups =
               prjctInfoResponse.RestrictedServerGroupList;

现在我想比较sgRestrictedServerGroups的列表与表中的列ServergroupId,并需要在列表中得到结果。

有人能帮帮忙吗?

将项目列表与DataTable中的一个列进行比较

您需要的是服务器组id上的两个序列的简单连接。假设ServerGroupID包含整数值,并且您的ServerGroup实体中的id属性名称为Id:

var result = from r in projectRestrictionList.AsEnumerable()
             join sg in sgRestrictedServerGroups 
                  on r.Field<int>("ServerGroupID") equals sg.Id
             select sg;

可以随意使用属性名和列类型

join试试linq语句:
编辑:

 var tabletolist = projectRestrictionList.AsEnumerable().ToList();
   var restricted =  from p in tabletolist 
                     join s in sgRestrictedServerGroups
                     on p.ServerGroupID equals s.ServerGroupID
                     select p;
相关文章: