0

タプル内にデータのコレクションがあります。

IEnumerable<Tuple<string, string>>
  • Item1 のデータは、トピック名を表す文字列です。
  • Item2 のデータは、多くの改行を含む文字列で構成されています。改行間のすべての項目は、サブトピックの名前を表します。たとえば、私のトピックが果物で、Item2 が Apple[LF]Banana[LF]Mango[LF]Pear[LF] のようになります。

私のトピックとサブトピックのクラスは次のようになります。

public partial class Topic
{
    public Topic()
    {
        this.SubTopics = new List<SubTopic>();
    }
    public string Name { get; set; }
    public virtual ICollection<SubTopic> SubTopics { get; set; }
}

public partial class SubTopic
{
    public string Name { get; set; } 
}

私はEntity Frameworkを使用していますが、これまでのところ、トピックのリストを返すコードは次のようになっています:

public IList<Topic> createTopics(string subjectName)
{
    IEnumerable<Tuple<string, string>> topicData = GetContent.GetType6();
    var topics = topicData.Select((o, index) => new Topic
    {
        Name = o.Item1,
        SubTopics = ??
    }
    );
    return topics.ToList(); 
}

サブトピック名を Item2 から取得し、ICollection であるサブトピック フィールドにあるサブトピックに配置する方法を教えてもらえますか

4

2 に答える 2

0
public IList<Topic> createTopics(string subjectName)
{
    var topics = from o in GetContent.GetType6()
                 select new Topic
                 {
                    Name = o.Item1,
                    SubTopics = o.Item2.Split('\n')
                                       .Select(x => new SubTopic { Name = x})
                                       .ToArray();
                 };
     return topics.ToList();
}
于 2013-06-21T09:38:05.910 に答える