在表中使用没有主/唯一键列的Fluent nHibernate

时间:2013-04-08 09:14:25

标签: c# vb.net oracle nhibernate fluent-nhibernate

在我的数据库表中,我没有任何主键或唯一键。我正在使用Oracle数据库表。

1.我可以在没有主键或唯一键的情况下使用Fluent nHibernate吗?

2.如果我可以使用它,我该如何进行映射?因为未映射Id时会抛出异常。

2 个答案:

答案 0 :(得分:2)

Fluent-NHibernate table mapping with no primary key可能重复。

AFAIK所有ORM都需要主键。我看到的主要原因是在会话中管理脏跟踪和缓存机制。

此外,您没有理由不在表中使用主键。即使您认为自己不需要,也可以使用自动递增的int列作为键,您应该没有问题。

答案 1 :(得分:1)

如果您使用的是oracle,请尝试使用“ROWID”。但在我看来,如果您没有任何主键或唯一键,那么最好根据您的要求使用您自己的ORM。