我有多个视图,它们的记录结构完全相同,但过滤逻辑不同。我希望能够使用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
的集合。 最佳答案
[UPDATE / 3]
我将原来的示例全部删除了,因为澄清起来与之无关。您正在寻找的是返回IQueryable对象,并在对其执行之前添加过滤器。 (据我所知)这将导致所有工作仍在服务器端完成,可以在此处找到对其的良好讨论:
http://codethinked.com/keep-your-iqueryable-in-check
欢迎更正!