我有一个电影数据库,我正在尝试保存一个类型。我在winforms中有相同的项目,并且代码有效,所以我可能错过了一些简单的东西。
无论如何,这是代码:
MovieCollectionEntities db = new MovieCollectionEntities();
Genre g = new Genre();
g.GenreName = TextBoxGenresAdd.Text;
db.Genres.Add(g);
db.SaveChanges();
我得到的错误信息是:
System.NullReferenceException was unhandled by user code
HResult=-2147467261
Message=Object reference not set to an instance of an object.
编辑:
值得一提的可能是我正在使用主分页,代码来自AddGenre.aspx。
答案 0 :(得分:1)
@Abhinav链接到正确的页面。问题是aspx页面的名称与导致程序崩溃的实体名称相同。
答案 1 :(得分:0)
grimsan55,
当您尝试插入数据库的数据未与数据库中的字段对齐时,通常会发生此错误。例如,如果在您的电影数据库中,您有标题,评级和制作人的字段,并且每个字段都是NOT NULL
。然后你去插入数据,但你只有标题和评级,这个错误将被抛出。
最好的办法是回到您的数据库并确保一切设置正确,然后转到项目中的模型并更新模型。您可能已经更改了数据库中的某些内容,但忘记在项目中更新模型。
希望这会有所帮助。我有时在更新数据库时忘记了这个问题,忘记了我改变了什么,然后尝试保存数据,就像以前一样。
答案 2 :(得分:-1)
从这段代码中可以看出,db.Genres.Add(g);
可能会尝试将g
添加到不存在的Genres
列表中。在调用Genres
方法之前,请尝试确保Add
。