我正在构建一个Web应用程序,它必须与具有多个没有PK的表的数据库进行交互。
数据库的设计是这样的,并且很难修改模式。
我尝试使用Entity Framework但是这种表有很多问题。似乎有几种方法可以解决这个问题,(关于主键的问题就是EF),但它可能会在未来引入烦人的错误。
经过对NHibernate的快速研究后,它显然与EF有类似的问题。
我现在会试着和Dapper一起运气,但也许你们中的任何一个人都有这样一个项目的替代或确定的解决方案。
提前致谢。
答案 0 :(得分:2)
您不需要主键。只需选择任何唯一索引,并配置ORM以使用该索引的列作为键。
如果确实没有唯一索引,那么您打算如何处理数据?
如果确实没有表格列的子集可以假设唯一标识一行,那么您将永远无法更新单个行。你可以假装它有一些密钥,只能查询它。