gpt4 book ai didi

c# - 实体数据模型向导不显示新表

转载 作者:太空狗 更新时间:2023-10-29 21:22:13 26 4
gpt4 key购买 nike

我使用 Microsoft SQL Server 2012 从脚本创建了一个 sql 数据库,并使用 Entity Framework 在 C# 中生成了一些类。现在我不得不修改许多新项目并将其添加到该数据库,包括存储过程和新表。

但是,在尝试在 Visual Studio Ultimate 2012 中重新生成类时,实体数据模型向导仍然显示旧数据库(一周前的样子),包括我删除的一些表。没有列出任何新内容。我试过删除并重新创建数据库,重新启动这两个程序,然后重新启动电脑都没有效果。

我在 Visual Studio 中生成框架的步骤是:

  • 向项目添加新项目。
  • 选择 ADO.NET 实体数据模型。
  • 从数据库中选择代码优先。
  • 选择“下一步”(连接字符串已填写)。
  • 下一个屏幕是“选择对象和设置”窗口,在这里我仍然看到旧表(而不是新表)。

更改数据库后我是否需要采取一些特殊步骤才能使这些更改显示在 Entity Framework 中?

更新:

我有一个“从数据库更新模型”的选项,但我的 Visual Studio 没有这样的选项。网络搜索表明它在“模型浏览器窗口”中找到,我在 VS 中也没有找到。进一步搜索表明打开“edmx”文件后此窗口可用。我已经在整台电脑上搜索了该文件扩展名并找到了一些结果,但它们都来自其他人的项目。我找不到与此项目的 c# 解决方案或 sql 数据库关联的 .edmx。

最佳答案

我在使用 Code First 时遇到了类似的问题。我遵循了问题中提到的所有步骤,但没有生成表格的模型。

  • 构建、清理解决方案
  • 从 web.config 中删除连接字符串
  • 删除模型文件夹中的所有文件
  • 右键单击 Models 文件夹,添加,新项目
  • 选择 ADO.NET 实体数据模型
  • 为模型添加名称
  • 从数据库中选择代码优先
  • 选择新连接
  • 在 web.config 中保存连接设置 - 选中

我发现是因为表没有主键。所以我修改了表格

[OrderId] [int] not null identity(1,1) primary key,

它奏效了。

如果有人遇到这个问题,我希望它能有所帮助。

关于c# - 实体数据模型向导不显示新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com