2010-03-29 5 views
0

User (User 테이블에 매핑 됨)가 있고 Edit 뷰 (MVC에 있음)가 사용자의 EntitySet에 따라 미리 선택된 모듈을 사용하여 액세스 할 수있는 모듈의 다중 선택 목록 (Modules 테이블에 매핑 됨)을 표시한다고합니다. 모듈들.EntitySet을 포함하는 개체를 어떻게 저장합니까?

사용자를 저장 한 다음 수동으로 모든 User_Modules을 삭제하고 제출시 선택된 항목에 따라 다시 추가하려고 시도했지만 사용자가 User.User_Modules에 대해 null EntitySet을가집니다.

이 시나리오를 온라인으로 처리하는 올바른 방법을 찾을 수 없습니다. 누구든지 도와 줄 수 있습니까?

편집 : 추가 내 EntitySet 코드

private EntitySet<UserModule> _UserModules; 
    [Association(Storage = "_UserModules", ThisKey="UserId", OtherKey = "UserId")] 
    public EntitySet<UserModule> UserModules 
    { 
     get { return this._UserModules; } 
     set { this._UserModules.Assign(value); } 
    } 

답변

0

세트가

DataLoadOptions options = new DataLoadOptions();  
options.LoadWith<User>(c => c.User_Modules); 
context.LoadOptions = options; 

//Do query and then see if your EntitySet is still null. 

Linq에 엔티티 방식으로 SQL로

Linq에 먼저로드 된 경우 확인을 시도 ...

if(!User.User_ModulesReference.IsLoaded){ 
    User.User_ModulesReference.Load(); 
} 
//Insert delete logic here... 
+0

My EntitySets은 어떤 func도 제공하지 않습니다. IsLoaded 또는 Load와 같은 속성/특성. 나는. User.User_Modules이 intellisense에서 아무 것도 제공하지 않고 fullstop을 추가하고 .Load()를 추가하면 빌드되지 않습니다. 이것은 예상 된 동작입니까? MSDN의 구문을 사용하여 EntitySet을 작성하고 다른 자습서와 비교하여 두 번 확인했습니다. EntitySet에 실제로 질의 할 수있는 UserModule 세트가 포함되어 있는지 확인할 수 있습니다. – Pete

+0

양쪽에 추가 했습니까? 즉 문맥뿐만 아니라 관계? – Nix

+0

DataLoadOptions에 대한 컨텍스트 강조 표시가없고 참조를 추가하라는 프롬프트가 없습니다. 필자는 자신의 OP를 편집하여 EntitySet 코드를 User 테이블과 연결된 클래스에 표시합니다. – Pete

관련 문제