[英]Inverse relationship mapping based on "one to many" using Entity Framework and GraphQl
我正在開發我的 API 的新版本,現在使用 GraphQL 來獲得一些優勢。
我有實體Partner
,它具有Farm
的List
屬性。 在這一點上是可以的,當我在我的 API 上調用Partners
,我可以獲得他們的Farms
。
但是當我在 API 中調用Farms
時,我希望它返回與之相關的Partner
,這就是我的問題。
我嘗試在Farm
上的ForeignKey
之外的Partner
上使用InverseProperty
注釋,但是對於Farm
每個屬性,我都收到以下錯誤消息:
期望在 Int32 上找到屬性[attribute]但它不存在。
這是我的代碼的一部分:
public class Partner
{
...
[InverseProperty("PartnerOwner")]
public List<Farm> Farms{ get; set; }
}
public class Farm
{
...
[Key]
public int Codigo { get; set; }
[ForeignKey("PartnerOwner")]
public int Partner { get; set; }
public Partner PartnerOwner { get; set; }
}
架構:
type Propriedade
{
Codigo: ID,
...
Parceiro: Parceiro
}
type Partner
{
Codigo: ID,
...
CountryFarms: [Farm]
}
我在那個發展中遺漏了一些細節嗎?
這是一個遺留代碼,因為它不遵循代碼約定,我也不能更改Farm
Partner
屬性。
在發布疑問時找到了解決方案(如 Rubber Duck Debugging)。
在 Schema 上,屬性名稱必須與類相同(我知道這似乎很明顯,但請注意)。 在這種情況下,特別是架構似乎可以正常工作:
type Propriedade {
Codigo: ID,
...
Parceiro: Parceiro
}
type Partner {
Codigo: ID,
...
// Here is the trick
Farms: [Farm]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.