我注意到由 Fluent 生成的 DDL 不会为构成多对多关系表的 2 列创建 PK(即连接/链接/桥接表)。
例如(来自 Fluent 源代码中的 Example.FirstProject),
Store <-- many-to-many --> Product
在 StoreProduct 表中,您将有 2 列:
ProductFK, StoreFK
这个 StoreProduct 表是通过 Fluent 的 HasManyToMany 语句隐式生成的。我想让它生成将 2 列定义为 PK 的 DDL。
这是 Fluent for SQLite 生成的内容:
create table StoreProduct
(ProductFK INT not null,
StoreFK INT not null,
constraint FKE9A26716DC700501 foreign key (StoreFK) references "Store",
constraint FKE9A26716815A48A8 foreign key (ProductFK) references "Product");
我希望它这样做:
create table StoreProduct
(ProductFK INT not null,
StoreFK INT not null,
constraint FKE9A26716DC700501 foreign key (StoreFK) references "Store",
constraint FKE9A26716815A48A8 foreign key (ProductFK) references "Product",
PRIMARY KEY(ProductFK, StoreFK));
使用 Fluent 是否可行(即以 fluent 指定,所以我让 StoreProduct 桥表具有 ProductFK 和 StoreFK 的 PK)?