我有表格的html页面。当我更改字段时,我需要重新保存表中的现有记录。
public int SaveTask(TimesheetListModel task, int userId)
{
var worklog = new tblWorkLog();
if (task != null)
{
worklog.AccountId = userId;
worklog.WorkDate = task.Date;
worklog.Note = task.Note;
worklog.TaskTitle = task.Task;
DataContext.tblWorkLogs.InsertOnSubmit(worklog);
DataContext.SubmitChanges(ConflictMode.FailOnFirstConflict);
}
return worklog.WorkItemId;
}
此函数将数据保存到表tblWorklogs
并返回记录的id。但是当我更新记录时,我已经有了记录的id,我需要在表中找到这条记录并更新字段。这该怎么做?我写了开始功能:
public bool UpdateTask(TimesheetListModel task)
{
/* If update succefull must return true */
return false;
}
答案 0 :(得分:3)
对您的实施不太确定,但根据上下文,您可以执行类似的操作。
public bool UpdateTask(TimesheetListModel task)
{
var entity = DataContext.tblWorkLogs.FirstOrDefault(twl => twl.Id == task.Id);
if (entity != null)
{
entity.AccountId = userId;
entity.WorkDate = task.Date;
entity.Note = task.Note;
entity.TaskTitle = task.Task;
DataContext.SubmitChanges();
return true;
}
return false;
}
背后的逻辑是:
这一切都取决于您是否在跟踪实体,否则您必须Attach
该实体。