是否可以在运行时创建实体名称?尝试实例化新的"Table By Hierarchy" (TBH) 实体



我使用TPH创建了一个表的特殊实例,即

section <- introduction-section

有许多不同的section类型,如结论

section <- conclusion-section

我需要实例化这些类的新对象,如果没有TBH,就会:

var myNewSection = new section();

然而,我正在使用TBH,所以我需要实例化子实体,以便正确填充鉴别符:

myNewSection = new I_Section ();db.Section.AddObject (myNewSection);

然而,这带来了一个问题,因为我必须显式地引用TBH实体I_Section,并且在循环中有一个switch语句。

是否有一种方法来定义这个类,如I_Section在运行时,从说一个字符串,我可以从循环中的其他值构造?

String strSectionCode = "I"
string strFullName = strSectionCode + "_" + "Section";
var myNewSection = new strFullname ??? () // I know this is not possible, but it shows where I am trying to get to.

使用反射,您应该能够在运行时实例化对象。看看Activator。CreateInstance,它提供了几个重载来创建对象的实例

相关内容

  • 没有找到相关文章