5

Estoy intentando crear una aplicación de base de datos simple que rastrea los préstamos de varios tipos de equipos usando Fluiber NHibernate y SQLite. Sin embargo, cuando trato de generar la estructura de la base de datos con SchemaExport para usar en la prueba unitaria, no se crean claves externas para las relaciones uno a muchos.Llaves foráneas con SchemaExport en Fluidez NHibernate usando SQLite

Aquí es mi Equipment entidad:

public virtual int Id { get; set; } 

public virtual EquipmentType Type { get; set; } 

public virtual int StockId { get; set; } 

Y aquí están mis asignaciones de Equipment:

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

Se genera el SQL correctamente, a excepción de la falta de claves externas:

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

Es posible para SchemaExport a los géneros ¿Las claves externas cuando se usa una base de datos SQLite?

Gracias.

Respuesta

3

Me sale el mismo problema.

SQLite inicialmente no admitía claves foráneas (característica introducida en 3.6.19) por lo que la implementación de NHibernate SQLiteDialect no tiene conocimiento de claves externas.

Como SQLite no admite la adición de restricciones mediante ALTER TABLE, solo a través de los parámetros de CREATE TABLE, no se utiliza la creación de clave externa predeterminada de NHibernate.

Hay un incidente registrado en NHJIRA https://nhibernate.jira.com/browse/NH-2200

Cuestiones relacionadas