【发布时间】:2012-07-23 02:41:12
【问题描述】:
我目前正在为我的模型上的一些映射属性而苦苦挣扎。这是我的两个模型。 我要做的是在我的表中只有唯一的 PersonTypes(即 MD、Nurse),并且人员模型引用这些 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 = Nurse,CNP
我不想在我的 PersonType 表中出现 2 次以上示例中的 MD。这可能吗。谢谢。
【问题讨论】:
-
“我得到重复”是什么意思?你能展示产生它们的代码吗?
-
所以您不想找到
Person是MD的吗?您只想在Person上指定一个属性,指定它是哪个PeronsType?那就是一个简单的PersonType枚举。你不需要PersonType表。
标签: asp.net-mvc-3 entity-framework ef-code-first code-first