2009-06-06 5 views
0

필자가 작업하고있는 DataContext의 경우, 필요할 때까지 테이블을로드하고 싶지 않습니다. 나는 특정 테이블을로드하기 전에로드 된 경우 체크하는 약간의 방법을 만들고 싶어,하지만 난 똑같은 일을 n 개의 방법을 가지고 결국 :커스텀 일반 GetTable

private void Load(ref Table<Order> Orders) 
{ 
    if (Orders == null) 
     Orders = this.GetTable<Order>(); 
} 

나는에 대한 일반적인 하나를 만들려고을 명백한 이유가 있지만 "이 형식을 수행하는 동안 Generic 형식 또는 메서드 'System.Data.Linq.Table'"예외의 매개 변수 'TEntity'로 사용하려면 참조 형식이어야합니다.

private void Load<T>(ref Table<T> TableToLoad) 
{ 
    if (TableToLoad == null) 
     TableToLoad = this.GetTable<T>(); 
} 
+0

GetTable 에 액세스 할 때 Linq2Sql이 실제로 데이터를로드하지 않는다는 것을 알고 계십니까? 쿼리를 실행 한 다음 ToArray() 같은 쿼리를 실제로 실행해야합니다. –

답변

5

'where T: class'을 메서드에 간단히 추가하십시오.

+0

감사합니다! 아주 간단하면서도 중요한 것. – Tipx