我试图插入使用下面的LINQ查询。不知何故,我得到了ID的重复记录。有人能帮我解释细节吗?插入重复记录LINQ
try {
OLA_ASSESSMENT_DTL OAD = db.OLA_ASSESSMENT_DTL.SingleOrDefault(
ev => ev.OAD_RIV_ID == id);
transaction = "Modify"; // resetting the value of the variable
if (OAD == null) {
transaction = "Add";
OAD = new OLA_ASSESSMENT_DTL();
}
OAD.OAD_PER_RELAIONSHIP = relationshipfocus.relationshipfocus;
OAD.OAD_PER_RELAIONSHIP_COMMENT = CRecHelper.CheckIsNullString(relationshipfocus.strrelationshipfocus).ToString();
OAD.OAD_RIV_ID = id;
OAD.OAD_MODIFIED_DATE = DateTime.Now;
if (transaction == "Add") {
db.OLA_ASSESSMENT_DTL.Add(OAD);
}
db.SaveChanges();
}
无论是一个新的对象或没有,你总是分配ID:'OAD.OAD_RIV_ID = ID;'。你如何期待**不**得到重复? –
您是插入新记录还是尝试通过ID更新现有记录? –
@NaveenKN K N - 我试图通过ID更新现有的记录,如果有一个记录目前的ID。如果没有记录,同时插入到具有该ID的同一个表中 – Alai