Les clés étrangères avec SchemaExport en Fluent NHibernate utilisant SQLite
-
27-09-2019 - |
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.
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