Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF1中的动态实体/运行时更改模型/添加属性动态_C#_Asp.net_Entity Framework_Linq To Entities - Fatal编程技术网

C# EF1中的动态实体/运行时更改模型/添加属性动态

C# EF1中的动态实体/运行时更改模型/添加属性动态,c#,asp.net,entity-framework,linq-to-entities,C#,Asp.net,Entity Framework,Linq To Entities,我想让用户能够在运行时动态添加新列。我正在使用实体框架v1 我确实设法读取xml,然后更改ssdl、csdl和msl文件,并构建新的工作区和新的对象上下文。。。 但问题是,当我在EF模型中动态添加新列时,底层对象当然不会改变 如何在没有具体实体的情况下从模型中获取数据?匿名类型或DBDataRecord就可以了。。。甚至是在运行时创建的一些新类型 有什么想法吗?更改实体模型CSDL/SSDL不会更改类型,因为它们用于在设计时生成类型。我认为没有任何实际的方法可以在运行时修改这些类型以反映您对模型

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

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

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


有什么想法吗?

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

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


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

hmm我从未想过EdmGen分发是不合法的。。。希望你不是对的;-)EdmGen2.exe有可用的源代码,通过快速查看它的许可证,我可以说分发它没有问题。。是的,你是对的。。。EF v4会很好…但我不能使用它…:(不管怎样,我一直在寻找无需新dll即可通过代码完成的任何解决方案……虽然我没有得到我希望的答案,但我会将此答案标记为答案。我将尝试使用edmGen2,看看会发生什么。祝我好运;)