实体框架关系:实体相互引用

问题描述 投票:-1回答:1

如何建立正确的关系:

卡有业主,业主有卡。

Card:
- Id
- OwnerId
- Number

Owner:
- Id
- CardId
- Name

当我更新卡的所有者(OwnerId)时,我需要自动更新所有者的CardId(之前删除并将CardId设置为新所有者)

entity-framework asp.net-web-api ef-core-2.0 ef-core-2.1
1个回答
-1
投票

映射@OneToOne关系的最佳方法是使用@MapsId。

@Entity(name = "Owner")
public class Owner {

    @Id
    @GeneratedValue
    private Long id;

    private String name;

    ...
    //Getters and setters omitted for brevity

}
@Entity(name = "Card")
public class Card {

    @Id
    private Long id;

    private String name;

    @OneToOne(fetch = FetchType.LAZY)
    @MapsId
    private Owner owner;

    ...

    //Getters and setters omitted for brevity
}

我不确定我是否理解你的问题,但身份并没有随着时间而改变。

© www.soinside.com 2019 - 2024. All rights reserved.