在我的數據庫表中,我沒有任何主鍵或唯一鍵。我正在使用Oracle數據庫表。在表中沒有主鍵/唯一鍵列的情況下使用Fluent nHibernate
1.我可以在沒有主鍵或唯一鍵的情況下使用Fluent nHibernate嗎?
2.如果我可以使用它,我該如何做映射?因爲Id
未映射時會引發異常。
在我的數據庫表中,我沒有任何主鍵或唯一鍵。我正在使用Oracle數據庫表。在表中沒有主鍵/唯一鍵列的情況下使用Fluent nHibernate
1.我可以在沒有主鍵或唯一鍵的情況下使用Fluent nHibernate嗎?
2.如果我可以使用它,我該如何做映射?因爲Id
未映射時會引發異常。
如果使用oracle,請嘗試使用「ROWID」。但在我看來,如果您沒有任何主鍵或唯一鍵,那麼最好使用您自己的ORM來滿足您的需求。
可能重複Fluent-NHibernate table mapping with no primary key。
AFAIK所有ORM都需要一個主鍵。我看到的主要原因是在會話中管理髒跟蹤和緩存機制。
此外,沒有理由不在表中具有主鍵。即使你認爲你不需要它,也可以使用一個自動遞增的int列作爲鍵,你應該沒有問題。
事情是數據庫已經存在,我不允許對它做任何更改。 – user2256857 2013-04-09 01:02:25
我明白這一點。問題是有些工具是以某種方式構建的,如果沒有這些先決條件,可能這不是您應該使用的工具。看起來你有很多限制,所以也許你更喜歡Dapper這樣的Micro ORM。 – tucaz 2013-04-09 18:59:21