小编Jor*_*s L的帖子

实体框架核心多个多对多与链接表(连接实体)

如何使用连接实体(链接表)在 EF Core 5.x 中的实体之间添加多个多对多关系?

我理解的是Card和Game之间的两种多对多的关系。一种关系不是问题,但两种(或更多)关系我无法正确配置。

目前对我有用的是,我创建了两个不同的类 DeckGameCard 和 TableGameCard(连接实体),这迫使 EF 创建两个表。除了名称之外,这些类都是相同的。数据库中是否可以只有一个类(连接实体)和两个链接表?

我想要的是这样的:

public class Game
{
    [Key]
    public int Id { get; set; }
    
    public ICollection<GameCard> Deck { get; set; }
    
    public ICollection<GameCard> OnTable { get; set; }
    ...
Run Code Online (Sandbox Code Playgroud)

但目前这(下面的代码)是我的解决方案(不是最佳的,因为 DeckGameCard 和 TableGameCard 中的代码重复)。

public class DeckGameCard
{
    public int GameId { get; set; }
    public Game Game { get; set; }
    
    public int Order { get; set; }

    public int CardId { get; set; }
    public Card Card …
Run Code Online (Sandbox Code Playgroud)

c# many-to-many join entity-framework-core

3
推荐指数
1
解决办法
4139
查看次数

标签 统计

c# ×1

entity-framework-core ×1

join ×1

many-to-many ×1