entity framework:当数据库更改时,如何刷新模型?
如果从数据库构buildedmx文件,然后更改数据库,那么如何让模型获取更改?
你删除整个模型和重新生成,或者你能检测到变化?
我看到一个post提到“更新你的模型”rt。 鼠标命令EDMX文件,但我没有看到它。
更新你的EDMX,以反映你的数据库(.net LINQ实体)
我刚刚开始。
你在看devise师还是代码视图? 您可以通过右键单击您的EDMX文件并selectOpen With -> ADO.NET Entity Data Model Designer
来强制devise器打开
右键单击EDMXdevise器的devise器表面,然后单击Update Model From Database...
所有实体默认情况下都会刷新,只有您select了新的实体才会被添加。
编辑:如果它不清爽。
- selectEDMXdevise器中的所有表格和视图。
- 删除它们。
- 然后,从数据库更新模型
我发现devise师“从数据库更新”只能处理小的变化。 如果你已经删除表,更改外键或(gasp)用函数映射改变了存储过程的签名,你最终会得到这样一个混乱的状态,你将不得不删除所有的实体和“从数据库中添加”或者干脆删除edmx资源并重新开始。
这可能会帮助你们(我把这个应用到了我的项目中)
这是3个简单的步骤。
- 转到解决scheme资源pipe理器 。 查找.edmx文件( 通常在根级别find )
- 打开.edmx文件,出现一个模型图窗口。 右键单击该窗口上的任意位置,然后select“ 从数据库更新模型 ”。 出现更新向导窗口。 单击完成更新您的模型。
- 保存.edmx文件。
而已。 它将同步/刷新您的模型库的数据库上的变化。
有关详细说明。 请访问下面的链接。
首先使用ASP.NET MVC的EF数据库:更改数据库并更新其模型。
我只需要更新.edmx模型。 模型/运行自定义工具选项没有刷新我的领域,但一旦我打开graphicsdevise器,我能够手动重命名字段。
更新CodeFirst模型是不可能的。 我也不推荐。 因为代码的好处之一是你可以使用POCO类。 如果你改变了这个POCO类,你不想要一些自动生成的代码来破坏你的工作。
但是,您可以创build一些模板解决scheme添加您的更新/添加实体到新模型。 然后收集并移动您的新的CS文件到您的工作项目。 这样你就不会有冲突,如果它是一个新的实体,你可以简单地添加相关的CS文件到现有的项目。 如果是更新,只需从文件中添加一个新的属性即可。 如果您只是在一两个表格中添加几列,您可以手动将它们添加到您的POCO类中,而不需要额外的工作,这就是使用Code-First和POCO类的美妙之处。
- 在PagedList中使用@ Html.DisplayNameFor()
- 为什么LINQ to Entities不能识别方法System.String ToString()?
- findDBUpdateException的原因
- entity framework代码中的唯一约束优先
- 解决scheme“validation失败的一个或多个实体。 有关更多详细信息,请参阅“EntityValidationErrors”属性。
- .ToList(),.AsEnumerable(),AsQueryable()之间有什么区别?
- Automapper:使用Entity Framework 4 Proxy Pocos在inheritance上映射问题,在集合上映射抽象基类
- entity framework太慢。 我有什么select?
- Database.BeginTransaction与Transactions.TransactionScope