我试图使用Linq 2 Sql使用InserAllOnSubmit方法将更改保存到数据库,它既不插入记录也不引发错误/异常。 如果我在代码中有任何错误,请帮助我。
谢谢。
public void UpdateCoachingAssessmentInfo(CoachingAssessmentViewModel model)
{
Guid userGuid = model.UserGuid;
try
{
using (var ctxAdmin = new MemberDataContext(ConfigurationManager.ConnectionStrings[Constants.CONFIG_KEY_MEMBER_CONNECTION_STRING].ToString()))
{
List<CAT> userCat = new List<CAT>();
List<QandR> userQr = model.QuestionResponseIds;
foreach (var x in userQr)
{
CAT objCAT = new CAT();
objCAT.userGuid = model.UserGuid;
objCAT.Question_Id = x.QuestionId;
if (x.OptionId != null && x.OptionId != 0)
{
objCAT.Option_Id = x.OptionId;
objCAT.Option_Response = null;
}
else
{
objCAT.Option_Response = x.OptionResponse ?? null;
objCAT.Option_Id = null;
}
objCAT.createDate = DateTime.Now;
objCAT.updateDate = DateTime.Now;
userCat.Add(objCAT);
}
ctxAdmin.CATs.InsertAllOnSubmit(userCat);
}
UpdateCoachingAssessmentEligibility(userGuid);
}
catch (Exception ex)
{
throw new Exception("Unable to save changes to db.", ex);
}
}
答案 0 :(得分:1)
您应在ctxAdmin.CATs.SubmitChanges()
之后添加ctxAdmin.CATs.InsertAllOnSubmit(userCat)
。
在调用SubmitChanges之后,添加的实体才会出现在查询结果中。
让我知道是否有帮助。