EntityFramework 代码优先的数据库设计
EntityFramework Code-First Database Design
我正在尝试使用 EF6 Code-First 方法勾勒出一个基本的音乐目录数据库。这就是我到目前为止所做的:
我们有乐队,其中包括艺术家(s),并且可能有专辑 .
专辑包含歌曲(s)并且可能有封面.
乐队属于一个或多个流派(s)。 合辑只是一些乐队
的集合
Band 可能有 Photo(s)。 艺术家可能还有个人照片(s)。
这是到目前为止我已经设法实现的图表(从 DbContext 生成):
问题:
- 如何实现 Genre 和 Band 之间的多对多关系(多个 Band 属于多个 Genres)?
- 如何让 Band 属于许多 Compilations?
- 我的设计从一开始就存在缺陷吗?关于改进(甚至重新设计)它有什么建议吗?
感觉我在这里遗漏了一些非常基本的东西。
感谢您抽出时间
对于 Band 和 Genre 之间的 m:m 关系,您还需要一个 table Band_Genre,它有 2 个字段,ID_Band 和 ID_Genre.
对于band-compilation的关系,你可以做一些不同的,将歌曲添加到compilations中(就像在现实世界中一样)然后按照Band-Album-Song-Compilation的关系。为什么合辑不是专辑?
整体设计很漂亮。
我正在尝试使用 EF6 Code-First 方法勾勒出一个基本的音乐目录数据库。这就是我到目前为止所做的:
我们有乐队,其中包括艺术家(s),并且可能有专辑 .
专辑包含歌曲(s)并且可能有封面.
乐队属于一个或多个流派(s)。 合辑只是一些乐队
的集合Band 可能有 Photo(s)。 艺术家可能还有个人照片(s)。
这是到目前为止我已经设法实现的图表(从 DbContext 生成):
问题:
- 如何实现 Genre 和 Band 之间的多对多关系(多个 Band 属于多个 Genres)?
- 如何让 Band 属于许多 Compilations?
- 我的设计从一开始就存在缺陷吗?关于改进(甚至重新设计)它有什么建议吗?
感觉我在这里遗漏了一些非常基本的东西。
感谢您抽出时间
对于 Band 和 Genre 之间的 m:m 关系,您还需要一个 table Band_Genre,它有 2 个字段,ID_Band 和 ID_Genre.
对于band-compilation的关系,你可以做一些不同的,将歌曲添加到compilations中(就像在现实世界中一样)然后按照Band-Album-Song-Compilation的关系。为什么合辑不是专辑?
整体设计很漂亮。