sql >> Base de Datos >  >> RDS >> Oracle

trabajando con Fluent NHibernate y guid ids

Actualización:

Tendrá que implementar su propio IUserType para manejar los Guids sin tablero.
Puede leer sobre esto aquí:
http://dotnet.dzone.com/articles/understanding-nhibernate-type

El detalle a continuación ahora es irrelevante para la pregunta, pero lo mantendré aquí como referencia futura para que la gente lo encuentre.

Uso de Guids "normalmente"

En su entidad el Id debe ser de tipo Guid:

public virtual Guid Id { get; private set; }

Y en tu ClassMap deberías mapearlo así:

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

Esto utilizará el algoritmo de peine recomendado para generar nuevos GUID.

o

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

para generar nuevos Guids usando System.Guid

o

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

si desea permitir que la base de datos genere el Guid por usted.