如何反映EntityObjects列表?

时间:2010-12-30 20:57:45

标签: asp.net-mvc-2 reflection entity-framework-4

我遍布网络,似乎找不到合适的解决方案。我是一个关于实体框架的菜鸟。我真的很喜欢和我一起工作的东西。在过去的项目中,我已经能够提取一个对象词典,我可以在这样使用,如下所示:

Dictionary<string, MyBaseType> myTypes = new Dictionary<string, MyBaseType>();
var types = Assembly.GetExecutingAssembly().GetTypes()
                                           .Where(t => t.BaseType != null && t.BaseType.Name.Equals("MyBaseType")).ToArray();
object ct;
foreach (Type c in types)
{
    ct = Activator.CreateInstance(c);
    myTypes.Add(ct.GetType().Name, ct as MyBaseType);
}

var myob = myTypes["SomeName"];
myob.DoFoo(); // this is a method of my basetype class or my interface

我需要为MVC w / EF4项目做类似的事情。我尝试使用EntityObject作为基本类型,但无论出于何种原因,执行程序集都不会反映它们。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你必须检查:

  1. EF对象的基类是什么 - 例如,我直接从System.Object派生。
  2. 你在正确的程序集中寻找它们 - 它们是在程序集中声明的,它们会从你的样本中执行代码吗?