gpt4 book ai didi

c# - 由于 Dependent Role 属性不是关键属性,因此 Dependent Role 的重数上限必须为 '*'

转载 作者:行者123 更新时间:2023-12-03 19:32:46 27 4
gpt4 key购买 nike

我知道这个问题与一些类似,但我的设置与那些不同。 EF 中具有以下类的正确配置是什么?

这里的问题是 Team有一个可选的 DivisionParticipant ,但是 DivisionParticipant有一个可选的 Team还。

public class Team 
{
[Key]
public int Id {get;set;}
public DivisionParticipant DivisionParticipant {get;set;}
}

public class DivisionParticipant
{
[Key]
public int Id {get;set;}

public int? TeamId {get;set;}
[ForeignKey("TeamId")]
public Team Team {get;set;}
}

错误

Team_DivisionParticipant_Target::多重性在关系“Team_DivisionParticipant”中的角色“Team_DivisionParticipant_Target”中无效。由于从属角色属性不是关键属性,因此从属角色的重数上限必须为“*”。

最佳答案

实现你想要的唯一方法是这样的:

public class Team 
{
[Key]
public int Id {get;set;}
public DivisionParticipant DivisionParticipant {get;set;}
}

public class DivisionParticipant
{
[Key, ForeignKey("Team")]
public int Id {get;set;}

public Team Team {get;set;}
}

每当需要一对一(或一对零或一)关系时,从属端(在您的情况下为 DivisionParticipant)外键也应该是其主键。如果不这样做,则会收到此错误:

Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be '*'.

关于c# - 由于 Dependent Role 属性不是关键属性,因此 Dependent Role 的重数上限必须为 '*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52787229/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com