我正尝试使用Entity Framework和数据库Postgresql保存数据
private OctopusDBEntities _dbContext;
public PendaftaranSiswaDA()
{
_dbContext = new OctopusDBEntities();
}
public resultVM SubmitFirstReg(resultVM model)
{
siswa_first_reg _tab_first_reg = new siswa_first_reg();
try
{
Mapper.CreateMap<FirstRegVM, siswa_first_reg>().ForAllMembers(cond => cond.Condition(src => !src.IsSourceValueNull));
_tab_first_reg = Mapper.Map(model.firstRegVM, _tab_first_reg);
_dbContext.Entry(_tab_first_reg).State = EntityState.Added;
_dbContext.SaveChanges(); // --- i have an error from here
model.isRegister = true;
model.message = "Data sudah terdaftar!";
}
catch (Exception e)
{
throw e;
}
return model;
}
这是由entityframework生成的查询。
INSERT INTO (SELECT siswa_first_reg.reg_no_registration, siswa_first_reg.reg_full_name, siswa_first_reg.reg_last_school_name, siswa_first_reg.reg_age, siswa_first_reg.reg_mobile_no, siswa_first_reg.reg_birth_place, siswa_first_reg.reg_birth_date, siswa_first_reg.reg_address, siswa_first_reg.reg_email, siswa_first_reg.reg_status, siswa_first_reg.reg_registration_date, siswa_first_reg.reg_gender FROM octo_test.siswa_first_reg AS siswa_first_reg) reg_no_registration, reg_full_name, reg_last_school_name, reg_age, reg_mobile_no, reg_birth_place, reg_birth_date, reg_address, reg_email, reg_status, reg_registration_date, reg_gender) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, NULL, NULL, NULL, $9)
为什么这样生成查询? 以及我该如何解决?
非常感谢您。
答案 0 :(得分:0)
我没有关于OP的答案,但是这个问题确实使我意识到了自己的错误。尽管该异常实际上并不包含原始查询,但通常对您毫无帮助,但有可能是查询格式/语法问题。例如,我最近在C#代码中更改了查询以及其他内容,但是在参数列表中错过了逗号!
答案 1 :(得分:-2)
很抱歉,您所提供的信息不足。 在尝试解决此问题时,我找到了答案。
只想分享,也许有些人有相同的情况。 上面的代码没有错。 问题出在数据库上。 我没有在桌子上设置主键。
感谢您的关注和支持。