2011-11-19 5 views
5

대 ObjectSet.Context, 나는 ObjectContext을 반환내가 EF 4.0에서 <code>ObjectSet</code>을 사용하는 데 사용 DbSet

myObjectSet.Context 사용하여이 ObjectSet에 대한 기본 컨텍스트를 얻을 수 있습니다.

이제 Ef4.1에서 DbSet을 사용하면 무엇이 해당합니까 ??

+0

[DbSet에서 DbContext를 가져올 수 있습니까?] (http://stackoverflow.com/questions/17710769/can-you-get-the-dbcontext-from-a-dbset) –

답변

3

EF 4.1은 DbSet 인스턴스에서 DbContext을 가져 오는 공개 API를 제공하지 않습니다. Reflections API를 사용하여 DbContext 인스턴스를 가져와야합니다.

편집

한 가지 해결 방법은 DbSet 인스턴스가 DbContext instace 주위에 통과하는 것입니다. 예 : DbSet 인스턴스 만 사용하는 생성자가있는 경우. 패스 DbContext instace도.

public MyService(DbContext context, DbSet<MyClass> mySet){} 

다른 방법은 Reflector 내부의 EntityFramewrk.dll를 열고 DbSet내부/개인 필드를 액세스하여 DbContext instace을 얻는 방법을 찾아하는 것입니다. 구현을 변경할 수 있기 때문에 이것을 사용하도록 조언하지 않습니다.

+0

나를 안내 해줄거야? –

+0

DbSet과 DbContext 사이에 직접적인 관계가 없습니다. –

+1

@Mustafa ADO.NET 팀에 왜 노출되지 않았는지 물어보아야합니다 :) 해결 방법을 추가하기 위해 내 대답을 편집했습니다. – Eranga

관련 문제