У меня есть эту модельвнешнего ключа Entity Framework 6.1 Code First создать ненужным столбец
public class Event {
[Key]
public int Id { get; set; }
public string Title { get; set; }
}
public class EventAction {
[Key]
public int Id { get; set; }
public int EventId { get; set; }
[ForeignKey("EventId")]
public Event Event { get; set; }
public int? RelatedEventId { get; set; }
[ForeignKey("RelatedEventId")]
public Event RelatedEvent { get; set; }
}
Когда я генерировать код первой миграции, он пытается добавить новую Event_Id
колонку вместо того, чтобы использовать мой RelatedEventId
, даже если я поставил ForeignKey
, чтобы указать поле для использования.
Это не первый раз, когда я определяю несколько внешних ключей, которые ссылаются на одну и ту же таблицу, но я никогда раньше не сталкивался с этой проблемой.
Вот код переноса генерируется
public override void Up() {
AddColumn("dbo.EventActions", "Event_Id", c => c.Int());
AddColumn("dbo.EventActions", "RelatedEventId", c => c.Int());
CreateIndex("dbo.EventActions", "Event_Id");
CreateIndex("dbo.EventActions", "RelatedEventId");
AddForeignKey("dbo.EventActions", "Event_Id", "dbo.Events", "Id");
AddForeignKey("dbo.EventActions", "RelatedEventId", "dbo.Events", "Id");
}
Это первая миграция или вы меняете существующую схему? – dotctor
@dotctor, я меняю существующую схему. Я добавляю новую колонку RelatedEventId в EventAction –
Можете ли вы поделиться сгенерированным кодом миграции? – dotctor