Oracle
 sql >> Database >  >> RDS >> Oracle

lavorare con Fluent NHibernate e guid id

Aggiornamento:

Dovrai implementare il tuo IUserType per gestire i Dashless Guid.
Puoi leggerlo qui:
http://dotnet.dzone.com/articles/understanding-nhibernate-type

Il dettaglio di seguito è ora irrilevante per la domanda, ma lo terrò qui per riferimenti futuri che le persone potranno trovare.

Utilizzo dei Guid "normalmente"

Nella tua entità l'ID dovrebbe essere di tipo Guid:

public virtual Guid Id { get; private set; }

E nella tua ClassMap dovresti mapparlo in questo modo:

Id(x => x.Id)
  .Column("Id")
  .GeneratedBy.GuidComb();

Questo utilizzerà l'algoritmo pettine consigliato per generare nuovi guid.

o

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

per generare nuovi Guid usando System.Guid

o

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

se vuoi lasciare che il database generi il Guid per te.