You can mark both ActivityID
and ActivityName
properties with Key
annotation or you can use fluent API as described by @taylonr.
Edit:
This should work – composite key defined with annotations requires explicit column order:
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; }
}