5 sqlite nhibernate foreign-keys fluent-nhibernate schemaexport
我正在尝试创建一个简单的数据库应用程序,使用Fluent NHibernate和SQLite跟踪各种类型设备的贷款.但是,当我尝试生成SchemaExport用于单元测试的数据库结构时,不会创建一对多关系的外键.
这是我的Equipment实体:
public virtual int Id { get; set; }
public virtual EquipmentType Type { get; set; }
public virtual int StockId { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是我的映射Equipment:
Id(x => x.Id);
References(x => x.Type);
Map(x => x.StockId);
Run Code Online (Sandbox Code Playgroud)
除了缺少外键之外,SQL是正确生成的:
create table "Equipment" (
Id integer,
StockId INTEGER,
Type_id INTEGER,
primary key (Id)
)
Run Code Online (Sandbox Code Playgroud)
SchemaExport使用SQLite数据库时是否可以生成外键?
谢谢.
我遇到了同样的问题。
SQLite 最初不支持外键(3.6.19 中引入的功能),因此 NHibernate SQLiteDialect 实现不知道外键。
由于SQLite不支持通过ALTER TABLE添加约束,只能通过CREATE TABLE参数添加约束,因此不使用NHibernate默认的外键创建。
NHJIRA 上记录了一个事件https://nhibernate.jira.com/browse/NH-2200