【发布时间】:2015-03-24 13:49:44
【问题描述】:
我在购买了一些空间的服务器上有一个 mysql 数据库。 现在我想在我的网站上添加一个新的 mvc 应用程序来尝试一些东西,而不会破坏我现有的应用程序。 这让我有点麻烦,因为我只有一个可用的数据库,我可以买一个新的,但我不想每次我想尝试的时候都买一个新的。
所以我想,为什么不为我的所有表预先修复该应用程序的一些唯一值,这样我就可以在仍然使用相同的数据库的同时保持存储的数据分开。 这让我在 stackoverflow 和网络上的其他地方浏览了无数文章。 大约一天后,我偶然发现了这个金块
<!-- language: c# -->
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Types().Configure(entity => entity.ToTable("pf_" + entity.ClrType.Name));
base.OnModelCreating(modelBuilder);
}
这正是我想要的,只要您使用 mssql 数据库,或者您删除 mysql 数据库并创建一个新数据库。 但是,我得到的数据库不是 mssql 数据库,因此不能删除它。
当我使用现有的 mysql 数据库时,我尝试运行
update-database
我收到以下错误
Can't find file: '.\mytestdb\dbo@002etestitems.frm' (errno: 2 - No such file or directory)
其中“mytestdb”是我正在测试的本地数据库,“testitems”是当前/以前的表名,.frm 当然是数据库格式,我不知道这个“dbo@002e”是什么,我尝试用谷歌搜索无济于事。
我的堆栈跟踪可以在这里找到。 http://pastebin.com/yF2dGkm6
有没有人遇到过类似的情况,或者有关于如何让它发挥作用的想法? =)
【问题讨论】:
标签: mysql ef-code-first entity-framework-6