【问题标题】:C#: Access SQL view through generic RepositoryBase class?C#:通过通用 RepositoryBase 类访问 SQL 视图?
【发布时间】:2009-06-01 19:43:21
【问题描述】:
我使用 RepositoryBase 基类作为我的个人存储库(例如 UserRepository)的基础。
它简化了添加新实体等操作,例如:
public IQueryable<T> SelectAll()
{
return db.GetTable<T>().AsQueryable<T>();
}
现在我在我的数据库中添加了一个视图“UserActive”。有没有办法以类似的方式访问视图,例如如果 T = User 那么我想返回 db.UsersActive 视图吗?
【问题讨论】:
标签:
c#
sql
asp.net-mvc
tsql
generics
【解决方案1】:
如果是特殊的一次性案例,您可以这样做:
if (typeof(T) == typeof(User))
{
return db.GetView<UserActive>().AsQueryable<UserActive>();
}
else
{
return db.GetTable<T>().AsQueryable<T>();
}
这当然假设您将如何使用您的 linq 提供程序访问您的用户活动视图:-P YMMV