【问题标题】:Dynamic entity in EF1/change model in runtime/add property dynamicalyEF 1 中的动态实体/运行时更改模型/动态添加属性
【发布时间】:2009-11-02 17:02:04
【问题描述】:

我想让用户能够在运行时动态添加新列。我正在使用实体框架 v1 ...

我确实设法读取为 xml,然后更改 ssdl 、 csdl 和 msl 文件并构建新的工作区和新的对象上下文... 但问题是,当我在 EF 模型中动态添加新列时,基础对象当然不会改变。

如何在没有具体实体的情况下从模型中获取数据?匿名类型或 DBDataRecord 就可以了……甚至是在运行时创建的一些新类型……

有什么想法吗?

【问题讨论】:

    标签: c# asp.net entity-framework linq-to-entities


    【解决方案1】:

    更改实体模型 CSDL/SSDL 不会更改类型,因为它们用于在设计时生成类型。我认为没有任何实用的方法可以在运行时修改这些类型以反映您对模型的更改。

    【讨论】:

      【解决方案2】:

      在 v1 中,您需要生成一个新程序集。这也需要重新分配 EdmGen。我不知道这是否合法。

      在 EF v4 中,您可能可以将 C# 动态类型与纯代码建模相结合,并为您的问题提出一个非常巧妙的解决方案。

      【讨论】:

      • 嗯,我从来没有想过 EdmGen 分发是不合法的......希望你是不对的 ;-) EdmGen2.exe 有可用的源,通过快速查看它的许可证,我会说这不是问题分发它..是的,你是对的......EF v4会很棒......但我不能使用它...... :(无论如何,我正在寻找任何解决方案,我可以通过代码完成而不需要新的dll ...
      • 虽然我没有得到我希望的答案,但我会将此答案标记为答案。我会尝试使用 edmGen2,看看会发生什么。祝我好运;)
      猜你喜欢
      • 2017-04-22
      • 1970-01-01
      • 2013-06-29
      • 2012-01-16
      • 1970-01-01
      • 2013-03-27
      • 2020-04-04
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多