栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

仅限实体框架代码错误:自创建数据库以来,支持上下文的模型已更改

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

仅限实体框架代码错误:自创建数据库以来,支持上下文的模型已更改

我在Scott Guthrie博客的这篇文章的评论中找到了答案。

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-pre-first-with-
an-existing-
database.aspx

对于那些看到此异常的人:

“自创建数据库以来,支持’生产’上下文的模型已更改。要么手动删除/更新数据库,要么使用IDatabaseInitializer实例调用Database.SetInitializer。”

这是正在发生的事情以及如何处理:

首次创建模型时,我们运行DatabaseInitializer进行诸如创建数据库(如果数据库不存在)或添加种子数据之类的操作。默认的DatabaseInitializer尝试将使用该模型所需的数据库架构与存储在使用数据库创建的Edmmetadata表中的架构的哈希进行比较(当Code
First是创建数据库的数据库时)。现有的数据库将没有Edmmetadata表,因此也将没有哈希表,如果缺少该表,今天的实现将被抛出。由于它是默认版本,因此在发布最终版本之前,我们将努力更改此行为。在此之前,现有数据库通常不需要任何数据库初始化程序,因此可以通过调用以下上下文类型将其关闭:

Database.SetInitializer<Production>(null);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号