Я получаю дублированный внешний ключ в одной из моих таблиц.Сначала я использую код EF и отображаю таблицы с помощью Fluent API.Я понятия не имею, почему это происходит.
Класс, представляющий таблицу:
public class ColunaSugestUsuario
{
[Key]
public int CODCOLSUGEST { get; set; }
public ColunaSugest COLSUGEST { get; set; }
public Usuarios USUARIO { get; set; }
public Sugestoes SUGESTOES { get; set; }
public int CODINDEX { get; set; }
}
Примечание: Каждый пользовательский класс в этом коде содержит ICollection
из ColunaSugestUsuario
с именем COLUNASUGESTUSUARIO
.
Свободный API:
modelBuilder.Entity<ColunaSugestUsuario>()
.HasRequired(s => s.COLSUGEST)
.WithMany(s => s.COLUNASUGESTUSUARIO)
.Map(x => x.MapKey("CODSUGEST"));
modelBuilder.Entity<ColunaSugestUsuario>()
.HasRequired(s => s.USUARIO)
.WithMany(s => s.COLUNASUGESTUSUARIO)
.Map(x => x.MapKey("CODCOLUNA"));
modelBuilder.Entity<ColunaSugestUsuario>()
.HasRequired(s => s.SUGESTOES)
.WithMany(s => s.COLUNASUGESTUSUARIO)
.Map(x => x.MapKey("CODUSUARIO"));
Результат:

This ColunaSugest_CODCOLUNA не должно быть там.Правильно?
Редактировать:
Я уже пробовал полностью определенные отношения на обоих концах (внешний ключ как атрибут класса), но ничего не произошло