EF数据库首先如何更新数据库更改模型?

在类库中, Ado.net Entity Data Model已生成POCO类。 这些都是第一次生成。 但数据库的变化没有得到反映。 在edmx图中右键单击并Update Model from Database选择Update Model from Database显示新创建的表,但即使在选择要添加后也不添加表。

我尝试运行.tt(通过右键单击并运行自定义工具),但即使它没有根据最新的数据库更改重新生成Poco类。

请帮忙

不是解决方法,而是解决方法:是否不能简单地删除和重新生成EDMX和生成的类? 这就是我所做的,它比使用更新function容易得多,结果似乎是一样的。 您的POCO扩展程序仍然保持不变并且function正常。

我首先使用数据库,我有我的SQL升级脚本,源代码控制中生成的EDMX和我的Generated模型,并且它们的更改非常容易管理。 以下是每个版本的数据库升级过程的概述:

  1. 为升级创建.sql脚本,如CREATE TABLE等语句。
  2. 删除生成的文件:Model.Context.tt,Model.tt,Model.edmx
  3. 从Web.config中删除实体字符串(如果使用它)
  4. 以与第一次相同的方式创建EDMX和Context文件
  5. 如果您使用源代码管理(我希望您这样做!),请检查已更改的内容
  6. 测试
  7. 承诺!

在我的情况下,我需要保存ModelName.edmx,然后生成类。

确保app.config中的连接字符串正确无误。 我使用的是DataDictionary,我的连接字符串有以下路径:

 data source=|DataDirectory|*.sqlite 

因此,它没有更新。 因为此DataDirectory变量正在运行时解析。