Fluent API и Entity Framework — составной внешний ключ с литеральным значением

#entity-framework-5

#entity-framework-5

Вопрос:

Я просмотрел весь этот сайт и ломал голову, чтобы решить, казалось бы, простой вопрос с помощью EF и Fluent API. Я безуспешно пытался подогнать некоторые ответы к моей проблеме, поэтому заранее приношу свои извинения.

Я использую VS2013 и C #. У меня определена следующая модель:

 [Table("party")]
public class Party
{    
  [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
  [Column(Order = 0)]
  [ScaffoldColumn(false)]
  public long party_id { get; set; }

  [Key]
  [Column(Order = 1)]
  [ScaffoldColumn(false)]
  public string party_type { get; set; }
}
  

У меня есть другая модель, подобная этой:

 [Table("person")]
public class Person
{
  [ScaffoldColumn(false)]
  public long person_id { get; set; }

  public virtual Party party { get; set; }
}
  

Модель PERSON должна быть связана внешним ключом с УЧАСТНИКОМ. Столбец «party_type» содержит постоянную строку базового типа добавляемой стороны с увеличивающимися значениями в «party_id». Это означает, что я мог бы:

Party_ID Party_Type 1 person 2 person 1 company 1 org 2 company 3 person

Как мне в FLUENT API подключить модель PERSON к модели PARTY на основе столбца «person_id» и константы «person»?

Спасибо и помогите!

Джон