c# - 对 EntityFrameworkCore 中的关系感到困惑
问题描述
目前我正在创建一个基于网络的游戏,我需要 EF 中的关系方面的帮助。我首先使用代码来制作表格,但我很困惑。问题来了:如何使 aPlayer
具有不同类型的Weapons
? 它们之间的关系类型是什么?在 Player 模型中我有ICollection<Weapon>
,但是在 Weapons 模型中我该怎么办?如何建立关系,因为同一个武器可以被多个用户使用,每个用户可以拥有多个武器?
解决方案
使用 intermadia 表。
public class Weapon
{
public int Id { get; set; }
public ICollection<PlayerWeapon> PlayerWeapons{ get; set; }
}
public class Player
{
public int Id { get; set; }
public ICollection<PlayerWeapon> PlayerWeapons{ get; set; }
}
public class PlayerWeapon
{
public int Id { get; set; }
public int PlayerId { get; set; }
public int WeaponId{ get; set; }
[ForeignKey("PlayerId")]
public Player Player{ get; set; }
[ForeignKey("WeaponId")]
public Weapon Weapon { get; set; }
}
推荐阅读
- angular - 有没有办法通过在firebase angular 6中搜索数组类型值来查找记录
- ios - 如何使用 SwiftyJSON 解析 JSON 数组对象?
- node.js - Mocha 参数化测试不取测试数据数组的修改值
- azure-devops - 自定义 Azure Pipelines 构建任务的本地化
- apache-flink - 如何在不丢失状态的情况下通过 UI 和一些后端状态问题在 flink 中更新作业
- ios - 如何在自动布局 ios 中将视图的底部边缘和顶部边缘约束到另一个视图?
- swift - Swift Small to Large Nav Bar Title Jumpy Transition
- flutter - Flutter 自定义谷歌地图标记信息窗口
- docker - 向 docker 映像添加文档的推荐方法是什么
- typescript - TypeScript 通过返回构造对象抱怨构造函数“没有初始化程序,并且没有在构造函数中明确分配”