2009-06-01 6 views
1

私は個々のリポジトリの基礎としてRepositoryBase < T>基本クラスを使用しています(UserRepositoryなど)。C#:汎用RepositoryBaseクラスを介してSQLビューにアクセスしますか?

それは、例えば、などの新しいエンティティを追加するようなもの簡素化:

public IQueryable<T> SelectAll() 
{ 
    return db.GetTable<T>().AsQueryable<T>(); 
} 

は、今私は自分のデータベース内のビュー「UserActive」を追加しました。同様の方法でビューにアクセスする方法はありますか? T = Userの場合は、db.UsersActiveビューを返しますか?

答えて

0

それは特別な一回限りの場合なら、あなたができる:もちろんの

if (typeof(T) == typeof(User)) 
{ 
    return db.GetView<UserActive>().AsQueryable<UserActive>(); 
} 
else 
{ 
    return db.GetTable<T>().AsQueryable<T>(); 
} 

これはあなたのLINQプロバイダ:-P YMMV

を使用してuseractiveビューにアクセスする方法についての仮定を作ります
関連する問題