Asp.net mvc 2 如何反映EntityObjects列表?

Asp.net mvc 2 如何反映EntityObjects列表?,asp.net-mvc-2,reflection,entity-framework-4,Asp.net Mvc 2,Reflection,Entity Framework 4,我看了整个网络,似乎找不到一个像样的解决方案。我是一个关于实体框架的noob。我真的很喜欢能和我一起工作的东西。在过去的项目中,我能够提取一个对象字典,以后可以像这样使用: Dictionary<string, MyBaseType> myTypes = new Dictionary<string, MyBaseType>(); var types = Assembly.GetExecutingAssembly().GetTypes()

我看了整个网络,似乎找不到一个像样的解决方案。我是一个关于实体框架的noob。我真的很喜欢能和我一起工作的东西。在过去的项目中,我能够提取一个对象字典,以后可以像这样使用:

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
Dictionary myTypes=newdictionary();
var types=Assembly.getExecutionGassembly().GetTypes()
.Where(t=>t.BaseType!=null&&t.BaseType.Name.Equals(“MyBaseType”)).ToArray();
目标ct;
foreach(类型中的类型c)
{
ct=Activator.CreateInstance(c);
添加(ct.GetType().Name,ct为MyBaseType);
}
var myob=myTypes[“SomeName”];
myob.DoFoo();//这是我的基类或接口的方法
我需要为MVC w/EF4项目做一些类似的事情。我尝试使用EntityObject作为基类型,但无论出于何种原因,执行程序集都不会反映它们

有什么想法吗?

您必须检查:

  • EF对象的基类是什么?例如,mine直接从System.Object派生
  • 您正在正确的程序集中查找它们-它们是否在执行示例代码的程序集中声明

  • 我没有用任何特别的东西。只是我主要项目中的一个EDMX。我可以看到每个实体都是EntityObject的基本类型。我想我可以从那里继续思考,但正如我所说,ExecutiveGassembly不识别这些类型。如果主项目EDMX中生成的类型不在执行程序集中,它们在哪里?问题是“什么是执行程序集”?看2。您的示例代码声明在哪里?它与您的EDMX在同一个程序集中吗?此外,EF对象的可见性如何?它们是公共的吗?