1

我有以下功能来更新和插入表中的记录

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 表的主键的修改值。

因此,在每次后续调用中,都会在数据库中插入一条新记录。我希望在插入记录时将主键(由 DB 自行生成)返回给客户端。

4

1 回答 1

0

将实体添加到 linq 控制的数据库中的语法不是更像:

context.Table.AddObject(newStore);
//or
context.Table.Add(newStore);

context.SaveChanges();

我只是试探性地回答了这个问题,对 LINQ 并不了解。

于 2012-05-14T12:05:28.610 回答