所以这是我的问题。对于我的开源项目,我们必须允许用户将缓存的内容存储在文件系统上,我们目前通过将缓存序列化为json并将其存储为纯文本文件来实现。 由于我们希望在将来的版本中摆脱这种解决方案,我们现在正在寻找将缓存存储在数据库中的方法。 在我们当前的计划中,用户可以决定他想要使用哪个数据库(例如SQL Server compact,已有的数据库等)。现在我的问题是:
答案 0 :(得分:1)
Can something like this be achieved with EF? Can I switch the database while the application is running, or do I need to recompile the application for a database switch?
如果您有不同的数据库,如Oracle,MS SQL等,那么在EF中,您必须为每个数据库创建不同的模型,然后根据他们使用的数据库分发到客户端。
Would EF be the best way to do this, or am I overlooking better solutions?
完全取决于你,你可以通过简单的ado.net实现这一点。但是为了灵活性,EF代码优先和模型中的T4代码生成器为您提供了很好的选择,您的域数据,数据访问层,业务规则对于不同的数据库将是相同的。您只需修改应用程序中的连接即可。配置文件。
我希望这会对你有所帮助。