更新的应该是debug下面的mdf,而VS每次编译时候会自动把项目里的mdf复制到debug下
编译好后,不用vs,直接运行debug下的exe,然后 *** 作更新数据库,就应该改变了。
如果你再次运行exe,就应该和上次关闭时的结果一样
如果你还在为
支持xxx上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库
找到你的数据库上下文所在的类库(一般都是写在项目中的model中,也有的独立model类库)
打开Nuget 程序包管理控制台
输入:Enable-Migrations 回车
如果正确的话 则显示已为项目 xxx启用 Code First 迁移。
我在这里说下 几种有可能出现的错误:
1No context type was found in the assembly xxx
在当前项目中 没有找到数据库上下文,也就是DbContext 继承的的 "数据库cs"
2The EntityFramework package is not installed on project xxx
当前项目已经找到了数据上下文,但是没有EntityFrameWork 需要安装输入 install-package entityframework(手大的 不知道对不对)
基本就这两个问题,如果安装成功则在项目中 出现Migrations文件夹,里面会记录每次数据迁移所发生的变化。
非常好用,不用再删除数据库 重新生成 数据丢失等问题。
常用语句 :enable-Migrations -Force 替换迁移数据文件 update-database 更新 add-migration 添加新的更新文件
求采纳为满意回答
若EF是采用代码优先生成数据库的话则需要修改EF中对应的Model的代码,即info中新增一列即可,不需要改动其他内容了;
若EF是采用根据现有数据库生成的话,需要在数据库对应表中添加一列,再重新生成EF的代码即可。
Entity Framework 应用程序有以下优点:
1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。
2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。
3、可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。
4、开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。
5、多个概念性模型可以映射到同一个存储架构。 · 语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。
扩展资料:
实体框架(Entity Framework)是微软以ADONet为基础开发出来的对象关系映射(ORM)解决方案,它解决了对象持久化问题,将程序员从编写麻烦的SQL语句当中解放出来。
相对于传统的ADO等各种数据库 *** 纵技术来说,微软的ADONet更为先进,它封装了很多底层 *** 作,抽象了接口,针对接口编程,将调用统一化。
EF框架的应用:
首先,实在VS中建立新项,添加新建项—数据—ADONET实体数据模型,然后设置其自己想要的映射的数据集,设置成功后,会生成一些列文件:
如上图所示,这就是我测试用的shoppingBus数据库生成的实体映射。其中有3个重要的类,分别是:
dataModelContexttt下的dataModelContextcs类,这个类是包含的数据库的上下文关系,我当时在看的时候就想到了设计模式策略模式中的context类,我认为它们有着共同之处,都是负责数据间的交互和实现。
DataModeltt下的数据表类,比如这里的就是petcs类和petTypecs类。这里就是相当于具体的实体类,值得特别说明的是,EF生成的实体映射同时包括表关系,主外键的关系等。
参考资料:
百度百科-ADONET Entity Framework
可以。ef框架可以直接更改数据库链接,数据库(database)就是存储数据的仓库。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有不同的API于创建。
以上就是关于使用ef框架连接数据库,本来可以,但修改了数据库表后连不上了,也没报错全部的内容,包括:使用ef框架连接数据库,本来可以,但修改了数据库表后连不上了,也没报错、EF中的来自数据库的EF设计器和来自数据库的CodeFirst的区别、采用EF开发数据库,前台使用jqGrid直接获取数据。现在问题,如果有多表联合查询如何解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)