在 wiki 或论坛或博客软件等 Web 应用程序中,将数据存储在关系数据库中通常很有用。由于许多托管公司都提供带有托管计划的单一数据库(附加数据库需要额外付费),因此当您的数据库对象(表、 View 、约束和存储过程)具有公共(public)前缀时,这对您的用户非常有用。意识到数据库稀缺性的应用程序通常具有硬编码的表前缀。然而,我想要更多。具体来说,我希望有一个用户可以指定的表前缀——比如在 web.config 文件中(当然有适当的默认值)。
因为我讨厌手工编写 CRUD 操作,所以我更喜欢通过有能力的 OR/M 工作,并且使用(并喜欢)LINQ to SQL、Subsonic 和 ADO.Net。但是,在将表前缀放入用户的 web.config 文件时,我在一个新项目中遇到了一些麻烦。是否有任何基于 .Net 的 OR/M 产品可以优雅地处理这种情况?
到目前为止,我能想到的最好方法是使用带有外部映射文件的 LINQ to SQL,我必须根据目前假设的 web.config 设置以某种方式更新该文件。
有人有更好的解决方案吗?我试图在 Entity Framework 中实现它,但很快就变成了一团糟。 (由于我对 EF 不熟悉?可能。)SubSonic 怎么样?除了在代码生成时,它是否可以选择应用表前缀?
最佳答案
我现在已经研究了在 Entity Framework 和 LINQ to SQL 和 documented the steps required in each 中执行此操作需要什么。它比这里的答案要长得多,所以我会满足于答案的链接,而不是在这里复制它。每一个都相对复杂,但 LINQ to SQL 是更灵活的解决方案,也是最容易实现的。
关于.net - 带有 .Net OR/M 的可配置表前缀?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11740/