Entity framework 使用2键在实体框架上建立关系

Entity framework 使用2键在实体框架上建立关系,entity-framework,Entity Framework,这是旧项目的结构示例 public class Customs { [Key,Required, Column(Order = 0)] public string DeclarationNo { get; set; } [Key, Required, Column(Order = 1)] public string ReceivedControlNo { get; set; } [Key, Required, Column(Order = 2)]

这是旧项目的结构示例

public class Customs
{

    [Key,Required, Column(Order = 0)]
    public string DeclarationNo { get; set; }

    [Key, Required, Column(Order = 1)]
    public string ReceivedControlNo { get; set; }

    [Key, Required, Column(Order = 2)]
    public string MasterBL { get; set; }

    public string CustomsDetail {get;set;}

    public virtual CustomsManifest Manifest { get; set; }
 }


public class CustomsManifest
{
    [Key,Required, Column(Order = 0)]
    public string ReceivedControlNo { get; set; }
    [Key,Required, Column(Order = 1)]
    public string MasterBL { get; set; }
    public string ManifestDetail {get; set; }

    public virtual Customs Customs { get; set; }
}
如何与2键建立关系。可能吗

我需要在Customs和CustomsManifest之间加入的关键是

  • 收到控制号
  • MasterBL

  • 关系的零或一

    您能检查发布的模型类名吗-什么是
    清单
    自定义密码吗?@IvanStoev谢谢,这是我的错别字。好的。不幸的是,EF不支持这种关系的显式FK。您必须牺牲
    CustomsManifest.Customs
    导航属性,并使用
    WithMany
    进行配置,如前所述,您将如何处理<代码>海关
    可能具有具有相同的
    接收控制编号
    主BL
    值的唯一记录,但只能有一个
    海关最新
    具有这些值。这是所有的含糊不清和错误等待发生。