【发布时间】:2013-06-24 13:18:28
【问题描述】:
我想知道是否有办法在运行时动态生成类。我想先在实体框架代码中使用它。
考虑如果我有 100 个表(或连接到未知数据库),我将不得不在 EF Code First 中为每个表创建模型/POCO,而不是这个我想在运行时生成 POCO 类及其所有属性数据库已连接。
【问题讨论】:
标签: class ef-code-first dynamic-class-creation
我想知道是否有办法在运行时动态生成类。我想先在实体框架代码中使用它。
考虑如果我有 100 个表(或连接到未知数据库),我将不得不在 EF Code First 中为每个表创建模型/POCO,而不是这个我想在运行时生成 POCO 类及其所有属性数据库已连接。
【问题讨论】:
标签: class ef-code-first dynamic-class-creation
可能不会。
考虑一下...如果在编译之前没有定义类,那么其他代码将如何使用它们?如果没有其他代码会使用它们,为什么需要它们?
您可以在设计时根据表模式生成对象。 Entity Framework 实际上不是do this 吗?
我意识到我已经链接到“数据库优先”而不是“代码优先”的东西,但是,这就是你要问的:
我想先在实体框架代码中使用它。
[...]
我必须为 EF 中的每个表创建模型/POCO
您有一个数据库,并且希望根据该数据库的架构生成模型。那是数据库优先。
【讨论】:
您可以使用 Visual Studio 2010 或 2012 的 EF Power Tools(测试版 3)将数据库逆向工程为 POCO。安装后,右键单击一个项目,然后在新的 Entity Framework 菜单组下选择 Reverse Engineer Code First。 电动工具:http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d
Rowan Miller 有一篇关于此的博文,以及一些高级用法:http://romiller.com/2012/05/09/customizing-reverse-engineer-code-first-in-the-ef-power-tools/
【讨论】: