我似乎在从我的数据库中删除电影时遇到了问题。我使用它的 FilmId 来定位电影,但是,当我尝试删除时,系统会提示我以下错误消息。
DELETE 语句与 REFERENCE 约束“FK_dbo.Genres_dbo.Films_Film_FilmId”冲突
我假设这是因为我的流派表通过 FilmId 与电影表有关系。
这是我的 DeleteFilm 方法
public ActionResult DeleteFilm(int id)
{
Film film = db.Films.Find(id);
db.Films.Remove(film);
db.SaveChanges();
return RedirectToAction("MyFilms");
}
这是调用此方法的操作链接
@using (Html.BeginForm())
{
@Html.ActionLink("Remove Movie", "DeleteFilm", new { id = Model.FilmId });
}
我将如何删除关系以便我删除电影。任何帮助将不胜感激。
这是我的电影课
public class Film
{
[Key]
public int FilmId { get; set; }
public string FilmTitle { get; set; }
public int FilmReleaseYear { get; set; }
public string FilmDirector { get; set; }
public string FilmRating { get; set; }
public string FilmImageUrl { get; set; }
public string FilmImdbUrl { get; set; }
public virtual ICollection<Genre> FilmGenres { get; set; }
public virtual ICollection<FilmCastMember> FilmCastList { get; set; }
public virtual ICollection<FilmReview> FilmReviews { get; set; }
public Film()
{
FilmGenres = new List<Genre>();
FilmCastList = new List<FilmCastMember>();
FilmReviews = new List<FilmReview>();
}
}
这是我的流派类型
public class Genre
{
[Key]
public int GenreId { get; set; }
public string GenreType { get; set; }
}