Попробуй это.Вы также можете разместить аннотацию ForeignKey в свойстве навигации и ссылаться на имя FK.Не уверен, что это решит вашу проблему, но стоит попробовать IMO
public class EventVote
{
[Key, Column(Order = 0)]
public int EventID { get; set; }
[Key, Column(Order = 1)]
public int UserID { get; set; }
[Required]
public DateTime VoteTime { get; set; }
[Required]
public bool Vote { get; set; }
[ForeignKey("EventID")]
public virtual Event Event { get; set; }
[ForeignKey("UserID")]
public virtual User User { get; set; }
}
Редактировать: из вашего сообщения об ошибке звучит, как будто у вас есть проблема, похожая на то, что происходит с отображениями отношений один-к-одному.См. Эту статью о том, как указать использование свободного API для отключения каскадирования на одной стороне каждого из отношений.
См. Эту статью, в которой рассматривается эта проблема.Обратите внимание, что они используют Fluent API, который можно использовать вместо аннотаций данных, чтобы указать ваши сопоставления / связи, или вы можете использовать аннотации данных и просто использовать Fluent API для отключения каскадирования / обновлений, где это необходимо.
http://weblogs.asp.net/manavi/archive/2011/05/01/associations-in-ef-4-1-code-first-part-5-one-to-one-foreign-key-associations.aspx