我有一个现有的模型,最初从这个模型生成数据库,并用一些数据填充现有的表.现在我已经为模型添加了一个新表.有没有办法从新模型更新数据库而不会丢失现有表中的所有数据?谢谢.
我是EF,EF Code First和EF with MySQL的新手.EF Code First何时在ASP.NET MVC Web项目中创建表?
我创建了一个Person模型.然后生成Controller和标准视图.当我点击Person控制器的Index方法时,它会尝试撤回所有People的列表.然后我得到错误:
执行命令定义时发生错误.有关详细信息,请参阅内部异常
内部异常:
表'testmvc.people'不存在
所以我已经超越了连接.但桌子没有创建.如何创建表格?另外,如何在命名方案中防止Person to People的复数化?
我使用EF 4.1与C#MVC3一起工作.当我修改我的一个模型(IE:我将属性添加public bool dead {set; get;}到我的Player.cs)的atributte时,EF删除并重新创建整个数据库.
我知道这发生了,因为我有这个:
的Global.asax.cs
protected void Application_Start(){
...
Database.SetInitializer<GameContext>(new DropCreateDatabaseIfModelChanges<GameContext>());
...
}
Run Code Online (Sandbox Code Playgroud)
我只想EF将新列添加到我的Player表中,不重新创建完整的数据库,我和Django有同样的问题,但我用South来解决这个问题(一个惊人的工具).存在类似于EF的东西?
我不能用public class GameInitializer : DropCreateDatabaseIfModelChanges<GameContext>定义为数据库播种,并且自己放置所有值,因为它是dinamic.
我几乎认为唯一的选择是手动将列添加到我的表中,好吧......我有一个问题,当我将MDF文件添加到我的服务器资源管理器时,项目无法再次打开数据库(甚至当我分离并关闭连接时,它有点奇怪.
嗯,这是我的问题!TIA.