LINQPad将查询视为更新,但Visual Studios将其视为插入。怎么可能出错?

时间:2015-03-17 13:15:06

标签: c# oracle linq entity-framework-6 linqpad

我将实体框架连接到Oracle数据库。

我有以下C#代码。

 using (var db = new myDB())
 {
     var temp = (from s in db.TABLE
     where s.ID == 5736
     select s).SingleOrDefault();
     temp.DONE = "A";
     db.Entry(temp).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
 }

我从数据库中获取一个项目,然后将其保存回来。

当我在VS中执行此操作时,会抛出异常。内部错误给我一个ORACLE错误。

  

ORA-00001:违反了唯一约束(MYDB.SOME_THING_ID)

这对我来说表示我正在尝试将更改的项目插回到数据库中,其中包含相同的ID。

当相同的代码通过LINQPad作为C#语句运行时。不会抛出任何错误。在检查SQL执行时,确实会进行更新。

检查数据库我的项目已更新。

正在使用相同的.DLL数据访问和相同的.comfig文件。我对可能出现的问题感到困惑。

0 个答案:

没有答案