我在一张表中得到了重复的外键。我首先使用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
。
Fluent 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"));
结果:
此 ColunaSugest_CODCOLUNA 不应该存在。对吧?
编辑:
我已经在两端尝试了完全定义的关系(外键作为类属性),但是什么也没发生