LINQ:在逗号分隔值字段?</object>上连接List <object>和数据集

时间:2012-12-07 21:30:52

标签: linq csv

我正在使用C#和LINQ并尝试组合两组数据。第一个是特定类型的列表,让我们调用此状态(列表),它只是一个具有一堆属性的类,其中一个属性包括逗号分隔的帐户值列表。这是使用存储过程从应用程序数据库中查询的,因此我对此处显示的内容有一些灵活性

例如:

class Status
{
   ...
   public string Accounts {get; set;} (ie. "abcde, qwerty, asdfg")
   public string Managers {get; set;}
   ...
}

其他属性无关紧要,因为这是我加入的唯一字段。

第二个“帐户”数据集来自我打电话的网络服务,以获取“帐户”列表以及与每个帐户关联的人员。

例如:

Account    Manager                 SomeData   MoreFields     ...
-------    -------------------     --------   ----------     ---
abcde      Bob Marley              Data       MoreData       ...
qwerty     Fred Flinstone          Data       MoreData       ...

因此,我需要在Status的Managers属性中的Accounts数据集中创建一个Status对象列表,其中包含Manager的一个CSV列表。问题是我无法控制此数据集中的什么是retruend,因为它是第三方应用程序。所以我需要找到一些方法来做到这一点,而无需修改“帐户”数据。除非我从Web服务获取数据集后在内存中执行某些操作。

我希望这是有道理的,我提前感谢你了!

1 个答案:

答案 0 :(得分:0)

您说的这个“数据集”是什么?我不在乎它来自何处 - 我只关心它在C#中是什么类型的对象。

我将假设它是一个ICollection,称为“帐户”

接下来,我将假设Managers是一个CVS列表,就像Accounts。

此外,我只会创建一个状态对象而不是它们的“列表”,因为你永远不会说出一个状态与另一个状态的区别。

var status = new Status();
status.Accounts = string.Join( ", ", from k in accounts select k.Account);
status.Managers = string.Join( ", ", from k in accounts select k.Manager);