我创建了一个 ADO.NET 实体数据模型,并使用 linq 更新/编辑我的 oracle 数据库。
using (Entities ent = new Entities())
{
RUSHPRIORITYRATE rp = new RUSHPRIORITYRATE();
rp.RATE = rate;
var query = from j in ent.RUSHPRIORITYRATEs
select j;
List<RUSHPRIORITYRATE> list = query.ToList();
if (list.Count == 0)
{
ent.AddToRUSHPRIORITYRATEs(rp);
ent.SaveChanges();
}
else
{
foreach (RUSHPRIORITYRATE r in query)
{
r.RATE = rp.RATE;
}
ent.SaveChanges();
}
}
我有一种方法可以添加或更新始终有一条记录的表。记录的值只有在存在一条记录时才会更新。添加到表中没有问题,但是我通过 MSDN 查找了如何更新 recores,并且“ent”似乎没有解决方案所需的“submitchanges”方法。运行这个,我得到错误:“属性'RATE'是对象的关键信息的一部分,不能修改。”