简体   繁体   English

在表中使用不带主键/唯一键的Fluent nHibernate

[英]Using Fluent nHibernate without primary/unique key column in the table

In my database table I don't have any primary or unique keys. 在我的数据库表中,我没有任何主键或唯一键。 I am using an Oracle database table. 我正在使用Oracle数据库表。

1.Can I use Fluent nHibernate without primary or unique key? 1.是否可以在没有主键或唯一键的情况下使用Fluent nHibernate?

2.If I can use it, how do I do the mapping? 2.如果可以使用,该如何映射? Because when Id is not mapped it throws an exception. 因为当未映射Id时,它将引发异常。

Possible duplicate of Fluent-NHibernate table mapping with no primary key . 没有主键Fluent-NHibernate表映射的可能重复

AFAIK all ORMs need a primary key. AFAIK所有ORM都需要一个主键。 The main reason I see is to manage dirty tracking and caching mechanisms in session. 我看到的主要原因是在会话中管理脏跟踪和缓存机制。

Also, there is no reason for you NOT to have a primary key in your table. 此外,没有理由让您的表中没有主键。 Even if you think you don't need one, stick a auto incremented int column as the key and you should have no problems. 即使您认为不需要,也可以使用自动递增的int列作为键,并且应该没有问题。

If you are using oracle try to use "ROWID". 如果您使用的是oracle,请尝试使用“ ROWID”。 But in my opinion If you don't have any primary or unique keys then better use your own ORM for your requirement. 但是我认为,如果您没有任何主键或唯一键,那么最好根据需要使用自己的ORM。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM