2010-12-14 64 views
0

J'insère un document et je veux des références d'id de document à une partie de ce document ... mais le code est auto-incrémenté, et j'utilise poco. comment puis-je obtenir retour le code du fichier d'insertion?ef4 poco, comment obtenir ID après insertion?

  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 

Répondre

1

Quelque chose comme ça

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

Cependant, vous ne serez pas le je serais jusqu'à ce que vous appelez SaveChanges()

1

Il est un peu difficile de dire quel est le problème avec cet exemple de code seul, mais appelez-vous SubmitChanges() sur votre DataContext en arquivoRepository.IncluirArquivo(file)? Si vous y êtes et que la propriété CodArquivo de votre classe ArquivoDTO est correctement configurée pour être un ID d'incrémentation automatique, la propriété doit être mise à jour automatiquement après SubmitChanges().