지정된 DbContext 인스턴스에서 POCO 유형을 가져 오는 방법이 있습니까?EF CodeFirst : DbContext에 대해 모든 POCO 유형 가져 오기
답변
public class MyContext : DbContext
{
public void Test()
{
var objectContext = ((IObjectContextAdapter)this).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
foreach (var i in items)
{
Console.WriteLine("Class Name: {0}", i.Name);
}
}
tnx,하지만 POCO 클래스 유형, 속성 및 속성 특성에 대한 액세스 필요 - EntityType 인스턴스가 Properties, PropertiesMetadata 등에서 자체 구현을 반환합니다. – DrAlligieri
@DrAlligieri 형식의 전체 이름을 얻을 수 있습니다. 반사를 사용하여 특성 및 속성에 액세스하십시오. – Eranga
FullName이 "CodeFirstDatabaseSchema.TypeNameThere"를 반환합니다. CodeFirstDatabaseSchema - POCO 클래스의 잘못된 네임 스페이스입니다. – DrAlligieri
@Lei 양에 접근 할 필요가 : 당신이 목록에 모든 종류의를 얻기 위해 이것을 사용할 수 있습니다.
var objectContext = ((IObjectContextAdapter) dbContext).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
var dbContextAssembly = dbContext.GetType().Assembly;
var entityTypes = new List<Type>();
foreach (var i in items) {
entityTypes.Add(dbContextAssembly.GetType(i.FullName));
}
불행하게도, 내가 허용 대답을 편집 할 수 있습니다 - 당신은 당신의 POCO 클래스 대신 EF 프록시를 얻을
var items = mdw.GetItems<EntityType>(DataSpace.OSpace);
을 다음과 같이 사용 dataspace을 변경해야합니다.
- 1. EF CodeFirst 모델 인스턴스 내에서 DBContext에 액세스
- 2. EF-CodeFirst SqlServerCE
- 3. EF/CodeFirst 관계 매핑
- 4. EF POCO 개체를 사용하여 읽기 전용 데이터 바인딩 가져 오기
- 5. EF CodeFirst on Existing database
- 6. EF 4.2, CodeFirst - 복합체 유형 내 탐색 속성
- 7. poco 속성 이름 가져 오기
- 8. 가져 오기 엔티티 - EF
- 9. EF Poco 클래스 확장
- 10. WCF, SOAP, EF, POCO
- 11. EF 4.1 POCO 쿼리
- 12. 모든 버튼 태그 유형 가져 오기
- 13. ninject에서 모든 구체적인 유형 가져 오기
- 14. ParameterInfo에서 중첩 된 모든 유형 가져 오기
- 15. 데이터베이스 우선 + EF + POCO; T4 코드 생성?
- 16. EF 4.1 : DbContext에 DbSet 속성을 추가해야합니까?
- 17. 모든 바디에 대해 경계 상자 가져 오기
- 18. 모든 jar 파일에 대해 java.lang.NoClassDefFoundError 가져 오기
- 19. EF 코드 첫 번째 - 프록시에서 POCO 얻기
- 20. EF Codefirst, 하나의 클래스, 식별자가있는 다중 테이블
- 21. EF 4, POCO 및 AddOrUpdate
- 22. Roslyn을 사용하여 EF CodeFirst DbContext 만들기
- 23. EF, 엔티티 트리 가져 오기
- 24. 플러그인 가져 오기 UTI 유형 가져 오기
- 25. 행마다 열 유형 가져 오기
- 26. 유형의 유형 가져 오기
- 27. 프로모션 유형 가져 오기
- 28. Entity Framework CodeFirst 여러 사용자 유형
- 29. EF 4.1 Codefirst : 복잡한 탐색 속성
- 30. EF의 DbContext에 모든 테이블이 있어야합니까?
같은 문제가있는 경우 해결하셨습니까? 도움이 필요합니다 .. =/ –