Составной ключ с кодом EF 4.1 сначала
Я пытаюсь выяснить, как иметь составной ключ, используя EF code First 4.1 RC.
В настоящее время я использую аннотацию данных [Key], но я не могу указать более одного ключа.
как можно указать составной ключ?
вот мой пример:
public class ActivityType
{
[Key]
public int ActivityID { get; set; }
[Required(ErrorMessage = "A ActivityName is required")]
[StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")]
public string ActivityName { get; set; }
}
Мне нужно, чтобы" ActivityName " также был ключом. Конечно, я могу кодировать вокруг этого, но это не хороший дизайн базы данных.
2 ответа:
вы можете отметить оба
ActivityID
иActivityName
свойстваKey
аннотация или вы можете использовать fluent API, как описано @taylonr.Edit:
это должно работать - составной ключ определяется с аннотациями требует явного порядка столбцов:
public class ActivityType { [Key, Column(Order = 0)] public int ActivityID { get; set; } [Key, Column(Order = 1)] [Required(ErrorMessage = "A ActivityName is required")] [StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")] public string ActivityName { get; set; } }