質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top