Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Arbeiten mit Fluent NHibernate und Guid-IDs

Aktualisierung:

Sie müssen Ihren eigenen IUserType implementieren, um die dashless Guids zu handhaben.
Sie können darüber hier lesen:
http://dotnet.dzone.com/articles/understanding-nhibernate-type

Das folgende Detail ist jetzt für die Frage irrelevant, aber ich werde es hier für zukünftige Referenzen aufbewahren, damit die Leute es finden können.

Guids "normal" verwenden

In Ihrer Entität sollte die ID vom Typ Guid:

sein
public virtual Guid Id { get; private set; }

Und in Ihrer ClassMap sollten Sie es so abbilden:

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

Dies wird den empfohlenen Comb-Algorithmus verwenden, um neue Guides zu generieren.

oder

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

um neue Guids mit System.Guid zu generieren

oder

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

wenn Sie möchten, dass die Datenbank die Guid für Sie generiert.