【问题标题】:.NET 4.0 EDMX Generate DB from model and then Execute SQL removes the DATA from Table.NET 4.0 EDMX 从模型生成数据库,然后执行 SQL 从表中删除数据
【发布时间】:2011-03-21 08:53:47
【问题描述】:

我是 .NET Entity Framework 4.0 的新手,我使用的是 VS2010,我创建了 EDMX 文件,然后在这个模型中添加了我的实体。在我完成我的数据模型并设置关联后,我右键单击并选择从模型生成数据库。

然后它创建 SQL 脚本 *.sql 然后我打开 SQL 并右键单击执行 SQL 语句...发生的情况是我的所有表都被重新创建...

问题:我在 MasterData 表中的所有测试数据都已删除/删除。我需要手动重新添加数据...

我在“保持数据生成数据模型 EDMX”等方面进行了谷歌搜索,但找不到...有人可以建议我如何避免这个问题吗?

因为我有例如 15 个 MasterDataTable + 与这些链接的其他表,我需要为所有这些表手动重新添加记录...并且 10 个案例中的 9 个我不碰这些表用户界面。

请告诉我如何避免这种情况。

谢谢

【问题讨论】:

    标签: c# entity-framework c#-4.0 entity-framework-4


    【解决方案1】:

    您可以从数据库中更新模型(与您现在采用的相反方式):

    双击 .edmx 文件打开设计器。在设计器中间,右键单击以显示上下文菜单,然后单击“从数据库更新模型”。它将提示一个屏幕,检查数据库参数,然后单击下一步。现在,您对 TABS 感到困惑。第一个选项卡用于将表作为实体添加到模型中。第二个选项卡将用于更新模型。选择您需要添加/更新的表和视图,然后单击下一步。就是这样。

    【讨论】:

    • 所以这意味着当我的数据库中有(测试)数据时,我可能不再从模型生成数据库,这也意味着所有更改都应该在数据库自身(SSMS)中完成,而不是在 Conceptmodel 中完成.对?换句话说:只要您不关心数据,您就可以使用 Conceptmodel 更改 (EDMX UI)。一旦你有了数据,甚至是你想要保留的测试数据,你就不能使用 generate DB from 模型。对?顺便说一句,它有效的解决方案,但我没有看到我可以选择的表格......在添加/刷新/删除选项卡中......但它有效。
    • 谢谢...很简单,但你需要知道:)。我希望我可以始终使用概念模型,而无需直接访问数据库进行所有更改选项(保留数据)。
    • 检索信息以显示要添加的表可能需要几秒钟的时间。另外.. 如果数据库中的所有表都已经在模型中,则不会显示要添加的表。在更新选项卡中,将显示所有表。如果我的解决方案有效,请接受它作为解决方案:D 谢谢!
    • 好的。明白了……它们是同步的。这就是它没有出现的原因......谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2014-05-09
    相关资源
    最近更新 更多