我有多个视图具有完全相同的记录结构但不同的过滤逻辑。我希望能够使用Entity Framework查询它们中的任何一个,如果它们返回相同类型的值而不是为每个视图使用不同的类型(具有完全相同的成员),这似乎更自然。怎么做到这一点?
我使用可视化模型设计器和数据库优先方法。
更新:
例如:我们可以有Vehicles
表,
create view [GreenVehicles] as select * from [Vehicles] where [Color]='Green';
和
create view [GreenVans] as select * from [GreenVehicles] where [Type]='Van';
任务是使我们能够将GreenVans
作为GreenVehicles
的集合进行查询。
答案 0 :(得分:0)
[更新/ 3]
我完全删除了我的原始示例,因为它与澄清无关。您正在寻找的是返回IQueryable对象并在执行之前向其添加过滤器。这(在我的理解中)将导致所有工作仍然在服务器端完成,并且可以在此处找到对它的良好讨论:
http://codethinked.com/keep-your-iqueryable-in-check
欢迎更正!