5

Próbuję utworzyć prostą aplikację bazodanową, która śledzi pożyczki różnych typów sprzętu przy użyciu Fluent NHibernate i SQLite. Jednak, gdy próbuję wygenerować strukturę bazy danych z SchemaExport do użytku w testowaniu jednostkowym, klucze obce dla relacji jeden-do-wielu nie są tworzone.Zagraniczne klucze z SchemaExport w płynnym NHibernate za pomocą SQLite

Oto moja Equipment podmiot:

public virtual int Id { get; set; } 

public virtual EquipmentType Type { get; set; } 

public virtual int StockId { get; set; } 

A oto moje mapowania dla Equipment:

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

SQL jest generowany poprawnie, z wyjątkiem braku kluczy obcych:

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

Czy jest to możliwe dla SchemaExport dla rodzajów te klucze obce podczas korzystania z bazy danych SQLite?

Dzięki.

Odpowiedz

3

Uderzyłem ten sam problem.

SQLite początkowo nie obsługiwał kluczy obcych (funkcja wprowadzona w 3.6.19), więc implementacja NHibernate SQLiteDialect nie wie o kluczach obcych.

Ponieważ SQLite nie obsługuje dodawania wiązań za pomocą ALTER TABLE, tylko za pomocą parametrów CREATE TABLE nie jest używane domyślne tworzenie klucza obcego NHibernate.

Jest zarejestrowany incydent na NHJIRA https://nhibernate.jira.com/browse/NH-2200

Powiązane problemy