【问题标题】:EF automatically update EDMX fileEF 自动更新 EDMX 文件
【发布时间】:2018-02-17 07:26:32
【问题描述】:

我想知道是否有办法以编程方式(在 c# 中)更新 EDMX 文件。我需要从不同版本切换到数据库,这需要模型经常更改。

提前致谢!

【问题讨论】:

  • 您应该手动执行此操作是有原因的。如果某列被移除或名称或数据类型发生更改并且您的应用崩溃了,会发生什么情况?
  • 您好,感谢您的回复!抱歉回复晚了,最近比较忙。在我的 EF 上下文中,我有从 1 个表中获取所有内容的方法。问题是这个表经常更新。客户的版本缺少 2 列,而我的 edmx 模型确实有这些列。这会引发异常。知道如何解决这个问题吗?我喜欢@Victor Hugo Terceros 的想法,我会制作几个模型,每个模型都有不同的版本。提前致谢!
  • 那么...您的应用不使用这两个缺失的列?您可以只使用直接 SQL 而不是 LINQ / EF,但这可能会导致更多问题。从根本上说,这是运行软件部署的糟糕方式。对此的任何解决方法只会增加复杂性和错误风险。您基本上需要将这两列添加到您的客户端站点并内联所有架构。

标签: asp.net database entity-framework


【解决方案1】:

实体框架数据库首先创建一个 XML (EDMX) 文件和一组链接到它的类,这样您就可以访问代码中生成的模型(表、视图、存储过程)。

所以当你说在运行时更新模型时,你基本上是想在运行时重新生成一组类,我认为这是不可能的。

如果您想访问不同版本的数据库(可能是不同的客户),您可以在数据库级别创建存储过程并在代码中使用它们。或者为每个 DB 生成一个模型。

【讨论】:

    猜你喜欢
    • 2012-02-28
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多