これらのクラスがあり、1:1 の関係でマッピングする必要がありますが、流暢な API についてまだ十分な知識がなく、実行時にこのエラーを受け取りました (デバッグ):
"erro 3015: Problema nos fragmentos do mapeamento a partir das linhas 6, 22, 191:Restrição de chave estrangeira 'OperadorModel_OpCadastros1' da tabela OperadorModel (OpCadastros1_OperadorId) para a tabela OperadorModel (id):: Mapeamento insuficiente: a chave estrangeira deve ser mapeadaパラ アルガム AssociationSet または EntitySets の参加者は、何の意図もありません。
何かのようなもの:
「エラー 3015: 行 6、22、191 からフラグメントをマッピングする際の問題: テーブル OperadorModel (id) の外部キー制約 'OperadorModel_OpCadastros1' テーブル OperadorModel (OpCadastros1_OperadorId) :: 不十分なマッピング: 一部の AssociationSet EntitySets に対して外部キーをマップする必要がありますまたは概念の外部キー アソシエーションに参加しています。」
この問題を解決するには?
コードは以下です。ありがたいことに、私の下手な英語で申し訳ありません。
public class OperadorModel
{
public int OperadorId { get; set; }
public string Login { get; set; }
public bool TiraMenu { get; set; }
public virtual OpCadastros1Model OpCadastros1 { get; set; }
}
public class OpCadastros1Model
{
public int OperadorId { get; set; }
public virtual OperadorModel Operador { get; set; }
#region Apoio
[Column("cad_apoio_ac")]
[Display(Description = "Acessar", GroupName = "Cadastros", Name = "Laboratórios de Apoio")]
public bool AcApoio { get; set; }
[Column("cad_apoio_ad")]
[Display(Description = "Adicionar", GroupName = "Cadastros", Name = "Laboratórios de Apoio")]
public bool AdApoio { get; set; }
[Column("cad_apoio_md")]
[Display(Description = "Modificar", GroupName = "Cadastros", Name = "Laboratórios de Apoio")]
public bool MdApoio { get; set; }
[Column("cad_apoio_co")]
[Display(Description = "Consultar", GroupName = "Cadastros", Name = "Laboratórios de Apoio")]
public bool CoApoio { get; set; }
[Column("cad_apoio_ex")]
[Display(Description = "Excluir", GroupName = "Cadastros", Name = "Laboratórios de Apoio")]
public bool ExApoio { get; set; }
#endregion
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<OperadorModel>()
.HasKey(op => op.OperadorId);
modelBuilder.Entity<OpCadastros1Model>()
.HasKey(cad => cad.OperadorId)
.HasRequired(cad => cad.Operador)
.WithRequiredPrincipal(cad => cad.OpCadastros1);
modelBuilder.Entity<OperadorModel>().ToTable("operador", "public");
modelBuilder.Entity<OpCadastros1Model>().ToTable("operador", "public");
}