Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

trabalhando com Fluent NHibernate e ids guid

Atualização:


Você terá que implementar seu próprio IUserType para lidar com os Guids sem traço.
Você pode ler sobre isso aqui:
http://dotnet.dzone.com/articles/understanding-nhibernate-type

O detalhe abaixo agora é irrelevante para a pergunta, mas vou mantê-lo aqui para referência futura para as pessoas encontrarem.

Usando guias "normalmente"


Na sua entidade o Id deve ser do tipo Guid:
public virtual Guid Id { get; private set; }

E no seu ClassMap você deve mapear assim:
Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.GuidComb();

Isso usará o algoritmo de pente recomendado para gerar novos guias.

ou
Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.Guid();

para gerar novos Guids usando System.Guid

ou
Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.GuidNative();

se você quiser deixar o banco de dados gerar o Guid para você.