【发布时间】:2015-12-08 01:50:47
【问题描述】:
我使用代码优先方法创建了一个数据库。现在,当我尝试向我的Cinema 数据库添加一个显示时,我得到一个DbupdateException。它说
违反主键约束“PK_dbo.Movies”。无法在对象“dbo.Movies”中插入重复键。重复键值为(The Room)
我不明白为什么。我不是在添加名为 The Room 的新电影,而是使用新密钥添加放映。
namespace Cinema3Project.Tables
{
class Showing
{
[Key]
public int Number { get; set; }
public DateTime Date { get; set; }
public TimeSpan Time { get; set; }
public virtual Movie Movie { get; set; }
public virtual Screen Screen { get; set; }
}
}
class Movie
{
[Key]
public string Name { get; set; }
public string Director { get; set; }
public string Genre { get; set; }
public string Language { get; set; }
public int LengthMin { get; set; }
}
插入方法如下:
using (var db = new CinemaContext())
{
db.Showings.Add(showing);
db.SaveChanges();
}
【问题讨论】:
标签: c# database entity-framework visual-studio ef-code-first