2010-12-30 5 views
0

나는 그물 전체를 훑어 보았고 적절한 해결책을 찾을 수없는 것처럼 보였다. 저는 Entity Framework에 관한 멍청한 놈입니다. 나는 내가 정말로 좋아할 수 있었던 일을했다. 과거 프로젝트에서, 나는이 같은 나중에 사용할 수있는 개체의 사전을 당길 수있었습니다 :EntityObjects 목록을 반영하려면 어떻게합니까?

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 

내가/EF4 프로젝트 승 MVC 비슷한 무언가를 할 필요가있다. 기본 유형으로 EntityObject를 사용했지만 어떤 이유로 든 Executing Assembly에 반영되지 않습니다.

아이디어가 있으십니까?

답변

0

당신은 확인해야 :

  1. 당신의 EF 객체의 기본 클래스입니다 무엇 - 내 예를 들어으로 System.Object에서 직접 파생됩니다.
  2. 올바른 어셈블리에서 해당 어셈블리를 찾고 있습니까? 샘플의 코드를 실행하는 어셈블리에서 선언되어 있습니까?
+0

특별한 것은 사용하지 않고 있습니다. 내 주요 프로젝트의 EDMX 일뿐입니다. 각 엔티티가 EntityObject의 기본 유형임을 확인할 수 있습니다. 내가 거기에서 반사되어 계속 진행할 수 있다고 생각했지만, 내가 말한 것처럼 ExecutingAssembly는 이러한 유형을 인식하지 못합니다. 주 프로젝트 EDMX에서 생성 된 유형이 Executing Assembly에없는 경우, 그것들은 어디에 있습니까? – HapiDjus

+0

질문은 '귀하의 집행 어셈블리는 무엇입니까'입니까? 2. 샘플 코드는 어디에 선언 되었습니까? EDMX와 같은 어셈블리에 있습니까? 또한 EF 객체의 가시성은 무엇입니까? 공개입니까? –

관련 문제