Frage

Ich versuche, eine einfache Datenbank-Anwendung zu erstellen, die den Überblick über Darlehen von verschiedenen Arten von Geräten mit Fluent NHibernate und SQLite hält. Allerdings, wenn ich versuche, die Datenbankstruktur mit SchemaExport für den Einsatz in Unit-Tests, Fremdschlüssel für eine Eins-zu-viele-Beziehungen zu erzeugen, werden nicht erstellt.

Hier ist meine Equipment Einheit:

public virtual int Id { get; set; }

public virtual EquipmentType Type { get; set; }

public virtual int StockId { get; set; }

Und hier sind meine Zuordnungen für Equipment:

Id(x => x.Id);
References(x => x.Type);
Map(x => x.StockId);

Die SQL korrekt erzeugt, mit Ausnahme der Mangel an Fremdschlüssel:

create table "Equipment" (
       Id integer,
       StockId INTEGER,
       Type_id INTEGER,
       primary key (Id)
    )

Ist es möglich, für SchemaExport Fremdschlüssel zu erzeugen, wenn eine SQLite-Datenbank mit?

Danke.

War es hilfreich?

Lösung

Ich traf das gleiche Problem.

SQLite zunächst nicht Fremdschlüssel unterstützen (Feature in 3.6.19 eingeführt), so dass die NHibernate SQLiteDialect Implementierung nicht über Fremdschlüssel nicht kennt.

Wie SQLite unterstützt keine Einschränkungen durch ALTER TABLE hinzugefügt, durch nur TABLE Parameter CREATE, die Standard-Fremdschlüssel Erstellung von NHibernate wird nicht verwendet.

Es gibt einen Vorfall angemeldet NHJIRA https://nhibernate.jira.com/browse/NH- 2200

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top