ef从数据库更新模型
㈠ 如何:在数据库发生更改时更新 .edmx 文件(实体数据模型工具)
如果已从数据库中删除某个对象,则该向导将从存储模型中移除该对象。 更新映射规范,以使概念模型中的对象不再映射到已不再存在的存储元素。 现有概念模型对象不会被删除。 如果已在数据库中添加某个对象(或者某对象未包含在先前的模型中),那么您可以选择将该对象添加到模型中。 使用新添加的对象更新存储模型。 对于表或视图(不是存储过程),创建相应的实体类型,并将该实体类型映射到该对象。 如果已更新某个对象,则该向导将更新存储模型中的对象定义。 如果已在表或视图中添加任何新列,那么将使用匹配的属性更新相应的实体类型。 如果相应的实体类型是继承层次结构的一部分,那么只通过匹配的属性更新距该层次结构的根最近的受影响实体。 这将避免为层次结构中的子实体定义与其祖先实体相同的属性。
㈡ c#ef怎么强制更新一个实体
什么叫“强制更新一个实体”?
EF本身就是C#中实体和DB的映射,更新实体其实就是更新数据库。
1、
如果是DB FIRST,那么你的实体是跟着DB走的,你必须更新表结构,然后在VS中重新生成模型,实体才会跟着变。
如果只把entity字段改了,那么运行的时候会报错的。
2、如果是codefirst,那么你更新实体之后,EF会更新你的DB结构, 这时候你就需要去选择迁移数据还是重建了。 迁移的教程参考MSDN,命令比较复杂。 重建只需要在初始化器里override方法: DropDatabaseIfModified(如果结构改变则自动重新生成数据库)。
㈢ EF CodeFirst 怎么来更新已存在的数据库结构
本地更新或者开发环境可以直接连上数据库的,直接在Package Manager Console(包管理器控制台)输入:update-database -〉回车执行OK
自动更新方法:
在程序初次运行时增加Database.SetInitializer(new <DbContext, Configuration>());
DbContext是你数据库连接的context,
Configuration是你程序Migrations里的,如果不在一个项目里,要将Configuration类改为public。
直接运行程序OK,
有人问web版的怎么弄,放在哪?
找到目录下的Global.asax,加到 Application_Start 里就OK了
㈣ 数据库添加了存储过程EF怎么更新出来
zty_ABMXSFX 应该是你数据库里面对应的存储过程 EF会把存储过程映射为上下文中的一个方法, 起返回值为存储过程中SELECT出来的值或结果集合
㈤ EF的CodeFirst模型修改时,服务器上的数据库怎么更新
在实体模型视图窗口 右键, 选择更新到数据库,一路确定 会弹出一个新的文件窗口
里面是sql语句
复制粘贴 粘贴到你的数据库输入sql指令的窗口
搞定
㈥ ef seed生成器 code first 数据库怎么更新
seed函数内容添加的时候,你的codefirst 代码没有更新,所以Seed函数没有被调用。
Migration只检查数据库的机构有没有发生变化,如果发生了变化,
它会调用Seed方法重新初始化数据库。
但是如果数据库已经存在而且与你的当前代码一致,Migration就不会再调用seed方法了。
㈦ ef 来自数据库的code frist 修改数据库时怎么更新
ef 来自数据库的code frist 修改数据库时怎么更新
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
㈧ EFCodeFirst怎么来更新已存在的数据库结构
诉你一个我所知道的,非官方的方法。
就是手工修改生成数据库的表结构,以及ModelHash,使得CodeFirst认为模型和数据库相匹配,而不重新创建数据库。
㈨ MVC中用到EF,但BookShop.Designer.cs中没有任何上下文和实体
其实并没什么影响 如果需要看代码的话,点击有很多表的那个文件,修改属性就可以了。然后重新生成解决方案