0

現在、モデルのいくつかのマッピング プロパティに苦労しています。これが私の2つのモデルです。私が探しているのは、テーブルに一意の PersonTypes (つまり、MD、Nurse) のみを持ち、person モデルがこれらの personTypes を参照することです。

public partial class Person
{
    public Person()
    {
        this.PersonTypes = new List<PersonType>();
        this.Contacts = new List<Contact>();
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public int FacilityId { get; set; }

    [DataType(DataType.Text), MaxLength(200), Required]
    public string FirstName { get; set; }

    [DataType(DataType.Text), MaxLength(200)]
    public string MiddleName { get; set; }

    [DataType(DataType.Text), MaxLength(200), Required]
    public string LastName { get; set; }

    public int? SpecialtyId { get; set; }

    public bool IsEnabled { get; set; }

    // Mapped Properties

    [ForeignKey("FacilityId")]
    public virtual Facility Facility { get; set; }

    [ForeignKey("SpecialtyId")]
    public virtual Specialty Specialty { get; set; }

    public virtual ICollection<PersonType> PersonTypes { get; set; }

    public virtual ICollection<Contact> Contacts { get; set; }
}

public partial class PersonType
{
    public PersonType()
    {
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [DataType(DataType.Text), MaxLength(200), Required]
    public string Name { get; set; }

    public bool IsEnabled { get; set; }
}

Person1 = MD、看護師 - Person2 = MD - Person3 = 看護師、CNP

上記の例から 2 回、PersonType テーブルに MD を入れたくありません。これは可能ですか?ありがとう。

4

1 に答える 1

0

あなたの例から、PersonsとPersonTypesの間に多対多の関係があることがわかります。EF CodeFirstがこれを理解するには、PersonTypeに対称ナビゲーションプロパティを作成する必要がありますpublic virtual ICollection<Person> Persons

于 2012-07-24T18:09:55.453 に答える