2010-12-14 107 views
0

我正在插入一個文檔,並且我希望引用文檔的ID到這個 文檔的一部分中,但代碼是自動增量的,而且我正在使用poco。我怎麼能得到 回插入文件的代碼?ef4 poco,插入後如何獲取id?

  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 

回答

1

像這樣的事情

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

但是你不會得到我,直到你叫SaveChanges()

1

這是一種很難說什麼是單獨使用此代碼示例的問題,但你叫上你的arquivoRepository.IncluirArquivo(file)的DataContext SubmitChanges()

如果您是,並且您的ArquivoDTO類的CodArquivo屬性正確配置爲自動增量ID,則屬性應該在SubmitChanges()後自動更新。