不返回已修改对象的自跟踪实体
本文关键字:跟踪 实体 对象 返回 修改 | 更新日期: 2023-09-27 18:34:09
我有以下函数来更新和插入表中的记录
public DASInput UpdateDASInputTable(DASInput fileSetData, Guid programID)
{
string connectionString = GetConnectionString(programID);
BI_ProgramConfigurationEntities dataContext = new BI_ProgramConfigurationEntities(connectionString);
dataContext.DASInputs.ApplyChanges(fileSetData);
dataContext.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
fileSetData = dataContext.DASInputs.FirstOrDefault();
return fileSetData;
}
当我使用 DASInput 类型的新对象进行第一次调用时,它会正确插入到数据库中。(DASInput 表的主键为 int,标识规范为打开)。
但是,第一次插入不会返回 DASInput 表的主键的修改值。
因此,在每次后续调用时,都会在数据库中插入一条新记录。我希望在插入记录时将主键(由数据库自行生成)返回给客户端。
将实体添加到 linq 控制的数据库中的语法不是更像是:
context.Table.AddObject(newStore);
//or
context.Table.Add(newStore);
context.SaveChanges();
我确实试探性地回答这个问题,对 LINQ 不是很了解。