使用LINQ to SQL加入对象集合

时间:2009-10-02 18:43:54

标签: sql linq collections

这甚至可能吗?好像我应该能够。

这是我的问题。我需要从第三方运行Web服务方法以获取可用项目的集合,其中我需要ID和Status属性。然后我有使用LINQ to SQL的方法来检索当前的项目。

我需要做的是检索当前和可用的项目。我可以通过ID连接它们但我还需要从Web服务方法返回的状态。

理想情况下,我的最终结果与从LINQ to SQL方法加上Web服务方法的Status属性的结果相同。

任何帮助将不胜感激。谢谢!

以下是我想要做的事情。有一个方法可以从Web服务接收对象列表并使用现有查询加入。

public List<Items> GetItems(List<AvailableItems> availList)
{
            var result = (from c in dataContext.items
                          where c.status == "current"
                         select c;

             return result;
}

2 个答案:

答案 0 :(得分:1)

public List<Item> GetItems(List<AvailableItems> availList)
{
    var result = (from c in dataContext.items.AsEnumerable())
                  join a in availList on a.id equals c.id
                  where c.status == "current"
                  select c;             

    return result.ToList();
}

答案 1 :(得分:0)

重新编辑:

我通常将id作为查找列表提取出来,并执行以下操作:

public List<Items> GetItems(List<AvailableItems> availList)
{
  var availableItemIds = availList.Select(a => a.Id).ToList();
  var items = (from item in dataContext.items
               where availableItemIds.Contains(item.Id)
               where item.status == "current"

  return items;
}