我想将数据添加到数据库中,我收到此错误。
EntityFramework.SqlServer.dll中发生了'System.Data.Entity.Core.EntityException'类型的异常,但未在用户代码中处理
其他信息:在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常。
这是我的代码。
public void alarmlog(int id)
{
AlarmLog log = new AlarmLog();
if (id == 1)
{
log.SectorID = "LRD";
log.LineNo = "L01";
log.WorkStation = "02";
log.LMQS = 1;
log.StaffID = 6;
log.DateTime = DateTime.Now;
}
db.AlarmLogs.Add(log);
db.SaveChanges();
}
答案 0 :(得分:0)
我有预感,您的错误位于if(id==1)
声明中。我的猜测是,你传入一个不是1的id。创建一个新的Alarmlog
,if语句不返回true,然后你尝试将空Item添加到数据库中。
如果所有这些字段(即使是那个字段)可能不为null,则会抛出异常。
删除你的if-block并查看错误是否已消失:
public void alarmlog(int id)
{
AlarmLog log = new AlarmLog();
log.SectorID = "LRD";
log.LineNo = "L01";
log.WorkStation = "02";
log.LMQS = 1;
log.StaffID = 6;
log.DateTime = DateTime.Now;
db.AlarmLogs.Add(log);
db.SaveChanges();
}
如果您希望我们停止猜测,请执行评论者所说的内容:将代码包装在try { ... } catch(Exception ex) { ... }
块中以查看错误是什么。