私は2つのテーブルを持っています、例えば:
先生1-------*生徒
'Pupils'という名前のナビゲーションプロパティが1つだけあります。
この例のために、私がやりたいのは、「Boys」という名前の2つのナビゲーションプロパティと「Girls」という名前の別のナビゲーションプロパティを作成することです。これは、「IsMale」という名前のブールに基づいています。
データベースからエンティティモデルを生成したので、これはコードファーストではありません。
誰かがこれを行う方法を教えてもらえますか?生成されたソースを変更する必要がありますか?その場合、更新が発生するとどうなりますか?コードは失われますか?
御時間ありがとうございます!
クレイグ
これが私の解決策です:
ナビゲーションプロパティを追加し、プロパティで、教師と生徒の間の関連付けを選択します。
生成されたコードで、ナビゲーションプロパティ「Boys」を見つけ、最後に.whereを追加して、次のように男の子を選択します。
    [XmlIgnoreAttribute()]
    [SoapIgnoreAttribute()]
    [DataMemberAttribute()]
    [EdmRelationshipNavigationPropertyAttribute("SchoolModel", "FK_Pupils_Teacher", "Pupil")]
    public EntityCollection<Pupil> Boys
    {
        get
        {
            return (EntityCollection<PriceKey>)((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<PriceKey>("SchoolModel.FK_Pupils_Teacher", "Pupil").Where(p => p.IsMale == true);
        }
        set
        {
            if ((value != null))
            {
                ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Pupil>("SchoolModel.FK_Pupils_Teacher", "Pupil", value);
            }
        }
    }
それが私の解決策です。これで、ナビゲーションプロパティを使用できるようになり、必要なものを返します。
私も以下の答えが好きです!そして、1つはより良いアイデアだと思います:)
乾杯!