2

正如我在将 WPF 与 MVVM 模式一起使用时所理解的那样,在模型方面,您可以拥有您的类和实体数据类(充当一种数据库访问类型)。

我浏览了一些教程,这些教程在 VS2010 中使用了“ADO.NET 实体数据模型”来为实体生成类。表和列定义是硬编码的。

我的问题是,我的部分应用程序用户将能够创建自己的表,在这种情况下实体模型还能工作吗?到目前为止,它似乎有点不灵活。我的系统表很少会改变,但是用户表会。它如何以及如何处理动态?

4

2 回答 2

4

Entity Framework 是一个“静态”ORM——你必须在编译之前在代码中声明你的表和列。所以是的,您提到的限制在您的数据库模式快速变化的情况下可能会出现问题。

它可以帮助您查看使用更多动态代码生成的替代 ORM。许多 .NET Micro-ORM 都支持这一点。我对它们没有太多经验,但我相信MassiveSimple.Data都支持这种东西。

请注意,这将具有 .NET 4 或更高版本的先决条件,因为dynamic3.5 不支持。

于 2013-05-22T12:30:57.153 回答
0

如果您说您的用户可以动态创建表(实体),那么这与 EF 并不能很好地混合,或者坦率地说,任何填充类的数据访问策略都不能很好地混合。问题是您实际上是在运行时通过用户创建的表创建新的“类”。这将更适合数据集/表或数据读取器。

于 2013-05-22T12:31:04.633 回答