正在查看: 2015年11月日志归档(第 1 页 / 共 3 篇)

使用EF创建LocalDb时遇到的一些问题

EF在本地使用localDb创建数据库时,如果同步git到服务器会出现App_Data下的mdf和ldf文件不可写的问题,原因是本地的localdb服务没有关闭,可以使用:

sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0

关闭和删除数据库,再同步就没有问题了。

另外在调试时可能会出现“EF5: Cannot attach the file ‘{0}' as database '{1}'”之类的问题,你可以简单地做两个操作:一是把App_Data下的数据库文件删除了,如果还不起作用,再使用上面的两个命令给干掉。

EF错误描述集

Poco对象生成的数据表自动添加了外键列

设计Poco对象时给UerProfile添加了一个集合属性: 

public class UserProfile
{
    public UserProfile()
    {
        this.Departments = new List<Department>(2);
    }
    public IList<Department> Departments{get;set;}
  }

这个Departments并不想加入EF字段管理中,虽然已经在DbModelBuilder中移除了所有的惯例,但是还是自动被EF在Departments表中添加了一个UserProfile_ID字段。解决方式是:使用Ignore方法移除掉Departments集合属性即可。

"Cannot drop database "MiniOA" because it is currently in use."

出现以上错误的触发条件是:

»阅读全文

Entity Framework 迁移的使用场景

EF拥有迁移功能,虽然很强大,但还是需要明白这一个功能的目的和使用场景。一般情况下,当你是用Code First时,Migrations就很有必要了。例如,你在生产环境中,经常更新Poco对象,而初始化器使用的是DropCreateDatabaseAlways或者DropCreateDatabaseIfModelChanges,那么你的数据库中总是处于初始化状态,如果想保留一部分数据,很遗憾,当部署到产品环境中时数据将会丢失。我们希望即使在产品环境下,以前保存的数据不会被丢失。简单地说:

»阅读全文