實體框架核心中的多態關係

c# entity-framework-core

我過去曾使用過Laravel,並喜歡他們的多態關係特徵。

多態關係允許模型在單個關聯上屬於多個其他模型。例如,假設您的應用程序的用戶可以“評論”帖子和視頻。使用多態關係,您可以對這兩種方案使用單個註釋表。

Entity Framework Core中有類似的東西嗎?我正在使用他們的Code First方法。謝謝

一般承認的答案

也許為時已晚,但對於有同樣問題的人來說仍然有幫助。

肯定沒有這樣做,它被稱為TPH你可以在這裡找到更多關於如何做到這一點的信息https://docs.microsoft.com/en-us/ef/core/modeling/relational/inheritance

但是,如果要為2個實體(2個父表)使用1個表,則它有一個主要缺點,那麼您不能在“註釋”表上使用ForeginKey約束。

您可以進行設置的方法是在註釋表1上有兩列,名為EntityType和LinkId。 EntityType列將是Discriminator列,它將告訴您此評論屬於哪個父表或帖子或視頻。並且LinkId將告訴評論所屬的視頻表中的哪條記錄

希望這能解決它。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow