3 Stimmen

Wie kann ich Fluent NHibernate richtig einsetzen, um die nächste Sequenz in Oracle zu erhalten?

Ich verwende NHibernate / Fluent NHibernate mit Oracle und ich bin in ein Problem laufen. Ich habe die folgende Mapping-Datei definiert:

public OrderMap()
{
    Table("ORDERS");
    Id(x => x.OrderId, "ORDER_ID").GeneratedBy.Sequence("select ORDERS_SQ.nextval from orders");
    Map(x => x.CreatedBy, "CREATED_BY");
    Map(x => x.OrderStatusCd, "ORDER_STATUS_CD");
    Map(x => x.StoreGroupId, "STORE_GROUP_ID");
    Map(x => x.IsActive, "IS_ACTIVE");
    Map(x => x.OrderDate, "ORDER_DATE");
}

Wenn ich mein Projekt ausführen möchte, erhalte ich folgende Fehlermeldung:

Bei der Erstellung einer SessionFactory wurde eine ungültige oder unvollständige Konfiguration verwendet.

Wenn ich die .GeneratedBy.Sequence("select ORDERS_SQ.nextval from orders"); Zeile, läuft die Anwendung, aber ich erhalte offensichtlich nicht die nächste Sequenz, wenn ich einen Datensatz speichere. Ich habe versucht, nur .GeneratedBy.Sequence("ORDERS_SQ"); aber ich scheine einfach nichts richtig hinzubekommen.

Kann mir jemand sagen, die richtige Art und Weise zu verwenden, Fluent NHibernate, um die nächste verfügbare Sequenz korrekt bitte erhalten?

Ich verwende Fluent NHibernate 1.1 mit NHibernate 3.0 Beta.

Danke.

4voto

rebelliard Punkte 9472

Geben Sie einfach den Namen der Sequenz an:

Id(x => x.OrderId).Column("ORDER_ID").GeneratedBy.Sequence("ORDERS_SQ");

// Real working code:
Id(x => x.Id).GeneratedBy.Sequence("SEQ_Catalog1");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X