首次使用Entity Framework插入数据崩溃报错问题求助
问题排查与修复方案
首先梳理你代码里的明显错误:
- 你定义的歌曲实体类为
Song,DbContext中对应的数据集是DbSet<Song> Songs,但你插入代码里使用的Glasba类、Glasbas数据集均不存在,属于类名、数据集名拼写/命名不匹配。 Song类的公开属性为Title、Length、Views,你插入时使用的length、Naslov、views和定义的属性名完全不匹配,C#是大小写敏感的,且不存在的属性无法赋值。- 插入数据后需要调用
SaveChanges()方法才能将变更同步到数据库,遗漏调用也会导致数据没有写入甚至报错。
修正后的插入代码示例
// 假设Data是你初始化的Database类实例 Data.Songs.Add(new Song { Title = "Bolecina", Length = 200, Views = 313 }); // 必须调用SaveChanges才能把数据提交到数据库 Data.SaveChanges();
额外注意项
- 你定义的
Producer、ProducerSong类的主键都加了[DatabaseGenerated(DatabaseGeneratedOption.None)]注解,意味着你插入这两个类的实例时必须手动给Id赋值,否则会触发主键为空的报错。 - 确保你的
Database类已经正确配置了数据库连接字符串,否则无法正常连接数据库执行写入操作。
内容的提问来源于stack exchange,提问作者Kozolej01
相关产品推荐
相关产品推荐

