Entity Framework Code First 关系:一对多到多个实体

Entity Framework Code First Relationships: One to Many to Multiple Entities

这是我使用 EF 的第一个项目。我正在创建一个模型,其中(这是一个示例)电影和电视剧作为实体。两者都有附注。 Note 也是一个实体。我想在 Movies -> Notes 和 TVSeries -> Notes 之间建立一对多的关系。如何实现?

笔记中需要有一些东西来定义笔记是属于电影还是系列。

您无法创建具有两个不同 parents 并且它们之间具有适当 primary/foreign 键关系的 child。

假设 Movies 和 TVSeries 具有共同的属性,一个选项是在 Movies/TV 关系中使用继承并让 Notes 挂在超类之外。类似于:

public abstract class EntertainmentBase
{
    public int Id { get; set; }
    public string Title { get; set; }
    // other common properties
}

public class Movie
{
    // properties specific to a movie
}

public class TVSeries
{
    // properties specific to a TV Series
}

public class Note
{
    public int NoteId { get; set; }
    public int BaseEntertainmentId { get; set; }
}