1

注:これは前の質問を完全に書き直したものです。

私はモデルを持っています。

class Paragraph
{
    public int Id { get; set; }

    public int SectionId { get; set; }
    public virtual Section Section { get; set; }

    public int Major { get; set; }
    public int Option { get; set; }

    public ICollection<Paragraph> Options
    {
        get
        {
            // What I'm trying to return is:
            //
            //     Section.Paragraphs
            //     .Where(p => p.Major == Major && p.Option != Option)
            //     .ToList()
        }
    }
}

それは関係に関与していone to manyます。それぞれSectionに多くの がありParagraphsます。私が返そうとしているのMajorは、エンティティと同じでMajor同じでOptionはない段落のリストです。基本的。

Where(p => p.Major == Major && p.Option != Option)

これを達成する方法について何かアドバイスはありますか?ありがとうございました。

4

2 に答える 2

0

私はそれを解決しました。ウープウープ!私がしたSectionことは、それが null かどうかを確認することだけでした。そうであれば、空白を返しましたList<Paragraph>。そうOptionsなる。

    public ICollection<Paragraph> Options
    {
        get
        {
            if (Section != null)
            {
                return Section.Paragraphs
                    .Where(p => p.Major == Major && p.Option != Option)
                    .ToList();
            }
            else
            {
                return new List<Paragraph>();
            }
        }
    }
于 2012-05-03T02:01:10.473 に答える
0

Sectionプロパティを null 以外にする必要があります。この状況をあるモデルが別のモデルに「属している」と説明しているため、 Sectionタイプなどのプロパティを持つクラスがあると思われます。List<Paragraph>

あなたの段落がセクションに含まれているという理由だけで、ある種の相互主義が無料で得られると考えているなら、あなたは間違っています. この関係を自分で維持する必要があります。

于 2012-05-01T00:14:26.740 に答える