2011-03-15 4 views

답변

33

DbContext이에 대한 방법이 있습니다 : 내가 좋아하는 것

public MyDbContext: DbContext 
{ 
    public DbSet<MySet> MySets {get; set;} 
} 

내가 LINQ 때와 수에로 SQL로 동적으로 MySets에 대한 참조를 얻을/I 만들 수있는 방법을 알고

var set = context.Set<MyEntity>(); 
+0

프로젝트에서 비슷한 것을 사용했지만 작은 문제가 발생했습니다. DbSet은 동적으로 생성되고 메모리 내 그래프는 잘 작동합니다. 그러나, 데이터가 데이터베이스에 저장 될 때가있다. context.SaveChanges() 다음 예외가 throw됩니다 : 잘못된 개체 이름 'dbo.CustomModel'. – ppoliani

+0

존재하지 않는 db 개체에 액세스하려고하기 때문에 매핑에 문제가있는 것 같습니다. –

15

사용 :

DbSet<MyEntity> set = context.Set<MyEntity>(); 

또는, 당신은 일반적인 방법을 사용할 수없는 경우 :

DbSet set = context.Set(
    typeof(MyEntity) 
); 

두 번째 로딩과 POCO 중복에 대해 걱정하지 마십시오을. 세트는, Context에 의해 내부적으로 캐쉬됩니다.

관련 문제