В настоящее время я борюсь с некоторыми свойствами отображения на своих моделях. Вот мои две модели. То, что я ищу, - это только уникальные PersonTypes (то есть MD, медсестра) в моей таблице, а персональная модель ссылается на эти персонализированные типы.Code-First Referencing Table
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
Я не хочу иметь MD в моей PersonType таблице 2 раза выше из примера. Это возможно. Благодарю.
Что вы подразумеваете под «Я получаю дубликаты»? Можете ли вы показать код, который их производит? –
Значит, вы не хотите, чтобы найти, какие «Личные» - это «MD»? Вы просто хотите использовать свойство «Лицо», которое указывает, какой из них «PeronsType»? Тогда это просто перечисление «PersonType». Для этого вам не нужна таблица «PersonType». – Dabblernl