【发布时间】:2012-05-14 11:54:31
【问题描述】:
我有以下函数来更新和插入表中的记录
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 表的主键的修改值。
因此,在每次后续调用中,都会在数据库中插入一条新记录。我希望在插入记录时将主键(由数据库自行生成)返回给客户端。
【问题讨论】:
-
我还阅读了下面的文章,以了解有关自我跟踪实体的注意事项。 msdn.microsoft.com/en-us/library/ff407090.aspx 不过这个问题就不多说了。
标签: c# wcf self-tracking-entities