SQLiteを使用した流fluent NhibernateのSchemaexportを備えた外国キー
-
27-09-2019 - |
質問
Fluent NhibernateとSQLiteを使用して、さまざまな種類の機器のローンを追跡する簡単なデータベースアプリケーションを作成しようとしています。ただし、データベース構造を次のように生成しようとすると SchemaExport
ユニットテストで使用するために、1対多くの関係のための外国の鍵は作成されていません。
これが私のものです Equipment
実在物:
public virtual int Id { get; set; }
public virtual EquipmentType Type { get; set; }
public virtual int StockId { get; set; }
そして、これが私のマッピングです Equipment
:
Id(x => x.Id);
References(x => x.Type);
Map(x => x.StockId);
SQLは、外国の鍵がないことを除いて正しく生成されます。
create table "Equipment" (
Id integer,
StockId INTEGER,
Type_id INTEGER,
primary key (Id)
)
それは可能ですか SchemaExport
SQLiteデータベースを使用するときに外部キーを生成するには?
ありがとう。
解決
私は同じ問題にぶつかりました。
SQLiteは当初、外部キー(3.6.19で導入された機能)をサポートしていなかったため、Nhibernate SQLeitialectの実装は外国の鍵について知りません。
SQLiteは、Tableの作成を介したTableの追加の追加の追加をサポートしていないため、テーブルパラメーターの作成を介してのみ、Nhibernateのデフォルトの外部キー作成は使用されません。
Nhjiraにログインしたインシデントがあります https://nhibernate.jira.com/browse/NH-2200
所属していません StackOverflow