在 wiki 或论坛或博客软件等 Web 应用程序中,将数据存储在关系数据库中通常很有用。由于许多托管公司在其托管计划中提供单个数据库(额外的数据库需要额外付费),因此当您的数据库对象(表、视图、约束和存储过程)具有公共前缀时,这对您的用户非常有用。意识到数据库稀缺性的应用程序通常具有硬编码的表前缀。然而,我想要更多。具体来说,我希望有一个用户可以指定的表前缀——比如在 web.config 文件中(当然,使用适当的默认值)。
因为我讨厌手动编写CRUD操作,所以我更喜欢通过有能力的 OR/M 工作,并且使用(并喜欢)LINQ to SQL、Subsonic 和 ADO.Net。但是,在将表前缀放入用户的 web.config 文件中时,我在一个新项目中遇到了一些麻烦。是否有任何基于 .Net 的 OR/M 产品可以优雅地处理这种情况?
到目前为止,我能想到的最好的方法是使用带有外部映射文件的 LINQ to SQL,我必须根据一个尚未假设的 web.config 设置以某种方式更新该文件。
有人有更好的解决方案吗?我试图在实体框架中实现它,但很快就变成了一团糟。(由于我对 EF 不熟悉?可能。) SubSonic 怎么样?除了在代码生成时,它是否可以选择应用表前缀?