1
我注意到由Fluent生成的DDL不會爲構成多對多關係表的2列創建PK(即,連接/連接/橋接表)。NHibernate Fluent與多列主鍵在聯結表中的多對多映射
例如(來自Example.FirstProject在流利源),
Store <-- many-to-many --> Product
在StoreProduct表,你有2列:
ProductFK, StoreFK
這StoreProduct表是隱式通過Fluent的HasManyToMany語句生成。我想讓它生成將2列定義爲PK的DDL。
這是得到由流利生成的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));
這有可能用流利(即指定流利,所以我得到StoreProduct橋接表具有ProductFK和StoreFK的PK)?
多對一鏈是我想避免的。那麼除此之外沒有辦法?沒有任何意義,特別是當EF 4.1 Code First默認爲我想要的行爲時。爲什麼它在默認情況下不會對FK對執行唯一的約束? –
無法提供幫助,您可以使用該表來描述關係,該關係用於更新相關數據,也可以用作映射類。你正在尋找一種不存在的混合體(據我所知)。 –