在更新了edmx模型之后,DbContext呢?
本文关键字:DbContext 之后 模型 更新 edmx | 更新日期: 2023-09-27 17:50:46
我刚开始使用EF5。我创建了一个MSSQL数据库,然后创建了模型(edmx)文件,然后使用"添加代码生成项"来创建EF5 dbcontext
类。
每当我改变我的数据库(添加一个列或改变一个数据类型),我看到"从数据库更新模型"不起作用,我需要删除并重新创建模型。这对我来说很好,但是从model.tt
模板文件生成的DbContext
类会发生什么?我必须再次生成所有的DbContext
类吗?
.edmx
模型和DbContext
类与数据库同步的正确方法是什么?
从数据库更新模型后,尝试Run Custom Tool
实体模型,为我工作和测试。
from Entity Model
→右键单击→运行自定义工具
我有两种方法:
1)使用EF4方法(也可以使用EF5),即使用edmx和数据库优先流。然后,当你的数据库发生变化时,你只需从edmx designer上下文菜单中"从数据库更新你的模型"。自动更新生成的实体类。
2)使用EF5方法-一次性生成POCO类,根本不使用edmx。你可以通过使用实体框架工具,然后使用"逆向工程代码优先"来做到这一点。当数据库模型更改时,手动对类应用更改(显然,这只适用于增量数据库更改)。
在VS2010中,在解决方案资源管理器的右上方有一个按钮,名为"转换所有模板",用于更新生成的类