在C#中动态创建类

时间:2013-06-24 13:18:28

标签: class ef-code-first dynamic-class-creation

我想知道是否有办法在运行时动态生成类。我想先在Entity框架代码中使用它。

考虑我是否有100个表(或连接到未知数据库)我将不得不为EF Code First中的每个表创建模型/ POCO,而不是这个我想在运行时生成POCO类及其所有属性数据库已连接。

2 个答案:

答案 0 :(得分:-1)

可能不是。

考虑一下......如果在编译之前没有定义类,那么其他任何代码如何使用它们呢?如果没有其他代码可以使用它们,你为什么需要它们?

您可以在设计时基于表架构生成对象。实体框架实际上不是do this吗?

我意识到我已经链接到“数据库优先”而不是“代码优先”的东西,但是,那就是你要问的:

  

我想先在Entity框架代码中使用它。

     

[...]

     

我必须为EF

中的每个表创建模型/ POCO

您有一个数据库,并且您希望根据该数据库的模式生成模型。那是数据库优先。

答案 1 :(得分:-1)

您可以使用Visual Studio 2010或2012的EF Power Tools(beta 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/