Oracle
 sql >> Base de données >  >> RDS >> Oracle

travailler avec Fluent NHibernate et les identifiants guid

Mise à jour :

Vous devrez implémenter votre propre IUserType pour gérer les Guids sans tiret.
Vous pouvez en savoir plus ici :
http://dotnet.dzone.com/articles/understanding-nhibernate-type

Le détail ci-dessous n'est plus pertinent pour la question, mais je le conserverai ici pour référence future afin que les gens puissent le trouver.

Utiliser les Guids "normalement"

Dans votre entité, l'ID doit être de type Guid :

public virtual Guid Id { get; private set; }

Et dans votre ClassMap, vous devriez le mapper comme ceci :

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

Cela utilisera l'algorithme de peigne recommandé pour générer de nouveaux guids.

ou

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

pour générer de nouveaux Guids en utilisant System.Guid

ou

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

si vous voulez laisser la base de données générer le Guid pour vous.