实体框架错误数据库中已有一个具有该名称的对象

时间:2013-11-16 19:03:30

标签: entity-framework

我正在使用Entity Framework POCO来协助将数据从旧数据库迁移到新数据库。两个数据库都已存在,并且实体框架不参与创建或修改任何一个的结构。我在迁移服务器上创建了一个示例数据库,并将其恢复到我的本地计算机sql server(完全在t_sql,没有EF),我的上下文及其数据类工作正常并返回我想要的数据。今天我去了生产迁移服务器,当我去运行我的第一个测试时,我得到了上面提到的错误。

我所做的只是阅读数据而不是写作,所以这对我来说毫无意义。当它连接我看不到的数据上下文时,EF必须做某事。该错误来自SqlClient.SqlConnection。除了我的方法

之外,调用堆栈中没有内部异常,没有帮助链接和任何内容

任何想法从哪里开始寻找? 帕梅拉

1 个答案:

答案 0 :(得分:0)

事实证明,当数据库在任何时候发生变化时,实体框架都会生气。你需要告诉它忽略数据库。我通过为我的数据上下文创建这个基类来实现它

enter code here    public class BaseContext<TContext> : DbContext where TContext : DbContext
{
    protected BaseContext()
        : base("Foxpert.HS.ChangeDetection.VHSContext")
    {
        Database.SetInitializer<TContext>(null);
        Configuration.AutoDetectChangesEnabled = false;
    }
}