ef4 poco, как получить идентификатор после вставки? - PullRequest
0 голосов
/ 14 декабря 2010

Я вставляю документ и хочу ссылаться на идентификатор документа для части этого документ ... но код автоинкремент, и я использую Poco. как я могу получить обратно код файла вставки?

            ArquivoDTO file = new ArquivoDTO();
            file.NomeArquivo = fileName;
            file.TipoArquivo = fileType;

            file.TamanhoArquivo = fileSize;
            var context = new PROGISContext();
            ArquivoRepository arquivoRepository = new ArquivoRepository(context);
            arquivoRepository.IncluirArquivo(file); //insert file
            ParteArquivoDTO part = new ParteArquivoDTO(); //create a part

            part.CodArquivo = file.CodArquivo; // here id of inserted file

Ответы [ 2 ]

1 голос
/ 17 апреля 2011

как то так

    [Key, DatabaseGenerated( DatabaseGeneratedOption.Identity )]
    public Guid Identifier { get; protected set; }

Однако вы не получите, пока я не позвоню вам SaveChanges()

1 голос
/ 14 декабря 2010

Трудно сказать, в чем проблема только с этим примером кода, но вы звоните SubmitChanges() на свой DataContext в arquivoRepository.IncluirArquivo(file)?

Если это так, а свойство CodArquivo вашего класса ArquivoDTO правильно настроено для идентификатора автоматического приращения, то это свойство должно обновляться автоматически после SubmitChanges ().

...