首頁 >後端開發 >C++ >如何與實體框架核心中的額外字段實施多一關係?

如何與實體框架核心中的額外字段實施多一關係?

Barbara Streisand
Barbara Streisand原創
2025-01-31 10:46:10874瀏覽

How to Implement Many-to-Many Relationships with Extra Fields in Entity Framework Core?

實體框架核心:與額外字段的多對多關係

自定義多對多關係關聯表時,

實體框架Core的Fluent API會有局限性。 本文詳細介紹了在加入表中添加額外字段的解決方法。

> 模型設計

考慮此示例模型:
<code class="language-csharp">public class Member
{
    public int MemberID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public virtual ICollection<MemberComment> MemberComments { get; set; }
}

public class Comment
{
    public int CommentID { get; set; }
    public string Message { get; set; }
    public virtual ICollection<MemberComment> MemberComments { get; set; }
}

public class MemberComment
{
    [Key, Column(Order = 0)]
    public int MemberID { get; set; }
    [Key, Column(Order = 1)]
    public int CommentID { get; set; }
    public virtual Member Member { get; set; }
    public virtual Comment Comment { get; set; }
    public int Something { get; set; }
    public string SomethingElse { get; set; }
}</code>

MemberCommentSomething表代表聯接表,包括額外的屬性SomethingElse

>。

>流利的API限制和解決方案

>

>無法使用Fluent API直接配置加入表。 解決方案是實現兩個一對多的關係。

> >一對多的方法:查詢和操作

>

>這種方法允許類似的查詢和數據操作(添加,更新,刪除)作為傳統的多對多關係。 至關重要的是,它可以根據聯接表中的額外字段進行過濾。 級聯刪除將由於連接表中的不可用的外鍵。

結論

> Fluent API不直接支持自定義的多對多聯接表,但使用兩個一對多關係提供了功能等值的功能,從而提供了包含和利用協會內其他字段的靈活性。

>

以上是如何與實體框架核心中的額外字段實施多一關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn