繁体   English   中英

实体框架自定义导航属性

[英]Entity Framework Custom Navigational Properties

有没有一种方法可以将ClassA.BId下面的内容ClassA.BIdClassB.BetaId ClassB BetaId不是主键。 因此,以下列方式进行的映射最终导致“ ForeignKeyAttribute无效”异常。 请注意,在这两个类中没有外键关系。 由于某些原因,我不能将ClassA.BId映射到ClassB.Id因为这两个字段无关,但是由于这两个字段是相关的,我需要自定义将ClassA.BId映射到ClassB.BetaId 但是, ClassBId必须保留为主键。

注意:我正在使用Entity Framework 6

[Table("A")]
public class ClassA{
    [Key]
    public int Id { get; set; }


    public int BId { get; set; }

    [ForeignKey("BId")]
    public virtual B B { get; set; }
}

[Table("B")]
public class ClassB{
    [Key]
    public int Id { get; set; }

    public int BetaId { get; set; }
}

如果B.BetaID是唯一的,则可以将其声明为密钥。 否则,EF Core支持引用备用键的外键属性。 请参阅https://docs.microsoft.com/zh-cn/ef/core/modeling/alternate-keys

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM