我有一些生成的类表示dbml文件中的表。
在表中插入记录可以以名称作为主键。
dbDataContext nc = new dbDataContext(connectionstring);
Action action = new Action();
action.Name = "1234"; // primary key
nc.Actions.InsertOnSubmit(action);
nc.SubmitChanges();但是,当名称已经存在时,如何更新记录呢?似乎没有UpdateOnSubmit之类的东西。这个问题似乎没有一个明确的答案。
发布于 2013-11-27 10:36:03
首先,您需要从数据库中获取记录,然后在该对象中执行更新并保存更改。
Action action = nc.Actions.FristOrDefault(e=>e.Name="1234");
if(action!=null)
{
action.SomeOtherProperty="NewValue";
}
nc.SubmitChanges();发布于 2013-11-27 10:46:41
同时处理添加和更新的情况
public void Persist(Company company)
{
var companyInDb = _dbSet.SingleOrDefault(c => c.Id == company.Id);
if (companyInDb != null)
{
_context.Entry(companyInDb).CurrentValues.SetValues(company);
}
else
{
_dbSet.Add(company);
}
_context.SaveChanges();
}https://stackoverflow.com/questions/20239869
复制相似问题