【发布时间】:2014-11-27 10:39:24
【问题描述】:
我有一个 asp.net mvc 5.1 解决方案,其中包含 3 个项目,如下图所示:
我在我的项目中安装了 Ninject、FakeitEasy、MySql nuget 包,并且我在我的项目中使用存储库模式,因此我有一个 IRepository 通用接口、IDbContext 接口和一个具体的存储库通用类(所有这些都在 AccountManager.领域)。 随着 Ninject 和 mysql 的所有设置,我构建了解决方案,到目前为止一切都很好,直到我尝试使用 Entity Framework 提供的脚手架选项添加控制器,我收到一条错误消息:
不支持使用相同的 DbCompiledModel 检索“AccountManager.Domain.Entities.Bank”的元数据以针对不同类型的数据库服务器创建上下文。而是为正在使用的每种类型的服务器创建一个单独的 DbCompiledModel。
当我首先使用 sqlite 和 EF 代码时,我看到了这一点。又是什么意思?有人看到我看不到的观点吗?
【问题讨论】:
-
MySql 和 Oracle AFAIK 对 CodeFirst 方法没有很好的支持。我正在使用 DatabaseFirst 方法使用 MySql 和 EF 开发一个项目,并且效果很好。
-
我创建了一个简单的 mvc 5 Web 应用程序并引入了 mysql 6.9.5(EF、webconnect 和 mysql.data),并创建了 3 个简单的模型类,用 mysqlEFConfiguration 装饰了我的上下文类,它成功构建但仍然不能脚手架控制器。回到 6.8.3 版本,这完全没有问题。想知道发生了什么?会继续看下去
-
有趣的是我删除了所有 mysql nuget 包并决定使用本地,它运行良好。我想知道问题是否不在于 mysql,而在于 .net 连接器......试图深入了解这一点
标签: c# mysql asp.net asp.net-mvc entity-framework