Question

Je tente de créer une simple application de base de données qui assure le suivi des prêts de divers types d'équipements utilisant Fluent NHibernate et SQLite. Cependant, lorsque je tente de générer la structure de base de données avec SchemaExport pour une utilisation dans les tests unitaires, les clés étrangères pour un à-plusieurs ne sont pas créés.

Voici mon entité Equipment:

public virtual int Id { get; set; }

public virtual EquipmentType Type { get; set; }

public virtual int StockId { get; set; }

Et voici mes correspondances pour Equipment:

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

Le SQL est généré correctement, à l'exception de l'absence de clés étrangères:

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

Est-il possible SchemaExport pour générer des clés étrangères lors de l'utilisation d'une base de données SQLite?

Merci.

Était-ce utile?

La solution

Je frappé le même problème.

SQLite ne supporte pas d'abord les clés étrangères (fonctionnalité introduite dans 3.6.19) de sorte que la mise en œuvre NHibernate SQLiteDialect ne connaît pas les clés étrangères.

SQLite ne supporte pas les contraintes par l'ajout ALTER TABLE, que par les paramètres CREATE TABLE, la création par défaut de clé étrangère de NHibernate n'est pas utilisé.

Il y a un incident connecté NHJIRA https://nhibernate.jira.com/browse/NH- 2200

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top