在更新了edmx模型之后,DbContext呢?

本文关键字:DbContext 之后 模型 更新 edmx | 更新日期: 2023-09-27 17:50:46

我刚开始使用EF5。我创建了一个MSSQL数据库,然后创建了模型(edmx)文件,然后使用"添加代码生成项"来创建EF5 dbcontext类。

每当我改变我的数据库(添加一个列或改变一个数据类型),我看到"从数据库更新模型"不起作用,我需要删除并重新创建模型。这对我来说很好,但是从model.tt模板文件生成的DbContext类会发生什么?我必须再次生成所有的DbContext类吗?

在数据库优先的环境中,保持.edmx模型和DbContext类与数据库同步的正确方法是什么?

在更新了edmx模型之后,DbContext呢?

从数据库更新模型后,尝试Run Custom Tool实体模型,为我工作和测试。

from Entity Model右键单击运行自定义工具

我有两种方法:

1)使用EF4方法(也可以使用EF5),即使用edmx和数据库优先流。然后,当你的数据库发生变化时,你只需从edmx designer上下文菜单中"从数据库更新你的模型"。自动更新生成的实体类。

2)使用EF5方法-一次性生成POCO类,根本不使用edmx。你可以通过使用实体框架工具,然后使用"逆向工程代码优先"来做到这一点。当数据库模型更改时,手动对类应用更改(显然,这只适用于增量数据库更改)。

在VS2010中,在解决方案资源管理器的右上方有一个按钮,名为"转换所有模板",用于更新生成的类