我知道在过去的 EF 版本中,为了支持 MySql 和 SQL Server,您需要编写自己的 ssdl。现在使用 EF 6,SSDL 嵌入到 edmx 中。那么这是否意味着我所要做的就是在我的 edmx 中为新提供者添加另一个“Schema”标签?
更新
所以我尝试向我的 ssdl 添加另一个“架构”节点,希望 EF 能够根据连接字符串知道要使用哪个架构。那没有用。到目前为止,我能得到的最好结果是在我的 edmx 中为我未使用的数据库提供程序注释掉“Schema”标签……这不是一个很好的解决方案,但我觉得这是朝着正确方向迈出的一步。仍然不能完全即时更改数据库提供程序...
所以基本上,如果我要使用 MySql,我会注释掉除 MySql“架构”标记之外的所有内容,并更新我的应用程序配置中的连接字符串以指向 MySql 数据库。
最佳答案
好吧,我想通了。事实证明,您所要做的就是定义一个新的 SSDL。我关注了this tutorial ,而且效果很好。我最终使用了 VistaDB 和 SQL Server。如果您使用的是 MySql,请确保您的数据类型匹配
关于c# - Entity Framework 6 在数据库提供者之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782328/