我正在尝试创建一个代码优先模型,其中一个人可以拥有许多最喜欢的电影,但我不希望电影表中有一个 FK。
实现这一点的唯一方法是让 EF 在两个实体之间创建一个链接表,并做到这一点(afaik)我已经在与 Person 相关的 Movies 实体上创建了一个集合属性......
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual IList<Movie> FavouriteMovies { get; set; }
}
public class Movie
{
public int Id { get; set; }
public string Name { get; set; }
public virtual IList<Person> People { get; set; } // I don't want this here :(
}
我希望电影看起来像这样...
public class Movie
{
public int Id { get; set; }
public string Name { get; set; }
}
但这样做时,EF 不会创建链接表,它只会在 Movies 表中敲击 Person_Id FK 列。
我不希望这种情况发生,因为电影不应该与人有任何关系,我可能想将它与其他事物联系起来。
那我怎么吃蛋糕呢?