例如,Country 表中的一條記錄(國(guó)家)可對(duì)應(yīng)多個(gè) Owner(訓(xùn)練師),它們通過(guò) CountryId 外鍵關(guān)聯(lián)。


一、UML 類圖可視化關(guān)系

使用 UML 類圖幫助梳理實(shí)體與字段,并直觀標(biāo)注關(guān)系:

Pokemon 1 ──── * Review
Country 1 ──── * Owner
Reviewer 1 ──── * Review

二、在實(shí)體中添加集合導(dǎo)航屬性(“多”端)

1. Pokemon 與 Review

Models/Pokemon.cs 內(nèi)添加:

public class Pokemon
{
    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime BirthDate { get; set; }

    // 一對(duì)多:一個(gè) Pokemon 可有多條 Review
    public ICollection < Review > Reviews { get; set; }
}

2. Country 與 Owner

Models/Country.cs 內(nèi)添加:

public class Country
{
    public int Id { get; set; }
    public string Name { get; set; }

    // 一對(duì)多:一個(gè) Country 可有多名 Owner
    public ICollection < Owner > Owners { get; set; }
}

3. Reviewer 與 Review

Models/Reviewer.cs 內(nèi)添加:

public class Reviewer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    // 一對(duì)多:一個(gè) Reviewer 可寫(xiě)多條 Review
    public ICollection < Review > Reviews { get; set; }
}

三、在實(shí)體中添加單對(duì)象導(dǎo)航屬性(“一”端)

Owner 引用 Country

Models/Owner.cs 中添加外鍵與導(dǎo)航屬性:

public class Owner
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Gym { get; set; }

    // 外鍵字段
    public int CountryId { get; set; }
    // 一對(duì)多:在 Owner 中持有單一 Country 對(duì)象
    public Country Country { get; set; }
}

Review 引用 Reviewer 與 Pokemon

Models/Review.cs 中添加:

public class Review
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Text { get; set; }

    // 外鍵與導(dǎo)航屬性
    public int ReviewerId { get; set; }
    public Reviewer Reviewer { get; set; }

    public int PokemonId { get; set; }
    public Pokemon Pokemon { get; set; }
}

小結(jié)與下一步

原文引自YouTube視頻:https://www.youtube.com/watch?v=DWi-VHElmRE

上一篇:

ASP.NET Core Web API 模型(Models)詳解:從 POCO 到數(shù)據(jù)庫(kù)表的一站式指南

下一篇:

ASP.NET Core Web API 多對(duì)多關(guān)系實(shí)戰(zhàn):POCO、Join Entity 與導(dǎo)航屬性全解析
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)