나는, 다음이 올바르게 삽입됩니다 업데이트하고 내가 형 DASInput의 새로운 객체 먼저 전화를 걸 때 테이블자동 추적 엔티티 객체
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 테이블에는 ID 지정이있는 int로 기본 키가 있습니다).
그러나이 처음 삽입은 DASInput 테이블의 기본 키의 수정 된 값을 반환하지 않습니다.
따라서 모든 후속 호출에서 새 레코드가 데이터베이스에 삽입됩니다. 레코드가 삽입 될 때 기본 키 (DB에 의해 생성 된 자체)가 클라이언트에 반환되기를 원합니다. 내가 LINQ에 상당히 지식이없는, 미정이 대답 할
context.Table.AddObject(newStore);
//or
context.Table.Add(newStore);
context.SaveChanges();
:
나는 자기 추적 엔티티에 대한 고려 사항에 대해서도 아래 기사를 읽었습니다. http://msdn.microsoft.com/en-us/library/ff407090.aspx 그러나이 문제에 대해 더 자세히 설명하지는 않습니다. – Sagar