2009-06-06 8 views
0

私が取り組んでいるDataContextの場合、必要なときまでテーブルをロードしたくありません。 私は特定の表がそれをロードする前にロードされているかどうかを確認でしょう少し方法を作りたいが、私は同じことをやって、n個のメソッドを持つ終わる:カスタムジェネリックGetTable

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

私はのための一般的なものを作るしようとしています明示的な理由がありますが、「タイプ 'T'は、汎用タイプまたはメソッド '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

関連する問題