我正在使用我无法更改的旧表。数据库有一个设置表,其中包含许多列(每个设置一个),只有一行:
Columns: Setting1 | Setting2 | Setting3 | etc...
----------+--------------+-----------+-------------
Row1: SomeValue | AnotherValue | LastValue | etc...
现在,如果不是因为表缺少主键,那么这一切都会好的。显然,原始开发人员并不认为这是必要的,因为只有一行。
有没有办法用Nhibernate映射这个?我已经实现了一个基于SQL的解决方案,但是我希望能够通过Nhibernate获得灵活性和简单性。
我担心最糟糕但是,有什么想法吗?
答案 0 :(得分:2)
好吧,只需选择任何设置(列)作为Id。唯一的不便是,如果你需要更改PK的设置,你必须删除并重新插入行......
答案 1 :(得分:2)
您可以映射添加虚拟PK列的视图:
select 1 as SettingsId, Setting1, etc....
或从存储过程加载对象。