C#:通过通用RepositoryBase类访问SQL视图?

问题描述:

我使用一个RepositoryBase < T>基类作为我个人存储库(例如UserRepository)的基础。C#:通过通用RepositoryBase类访问SQL视图?

它简化了事情,如添加新的实体等。例如:

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

现在,我已经在我的数据库中添加视图“UserActive”。有没有什么办法以类似的方式访问视图,例如如果T =用户,那么我想返回db.UsersActive视图?

如果它是一个特殊的一次性情况下,你可以这样做:

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

这当然就如何你会使用LINQ提供:-P因人而异

访问useractive观点的假设