案例陈述的替代参数

问题描述 投票:1回答:1

我有以下简化的查询(当前正在从存储过程返回),我希望将其用作实体框架中的工作视图的基础:

Select 
cast (case when warehouse = @Warehouse then 1 else 0 end as bit) as AtThisWarehouse,    
s.id as productStatusId 
from products p 
left join productstatus s on p.availiblity = s.cd;

显然,我不能在视图中使用参数,也不想使用存储过程或用户定义的函数,因为我想遵循Entity Framework中的当前模式。

仓库将是已知的,可以通过过滤器传递到where子句中,但是我不确定如何利用这一事实来获取我想要的结果。有关如何进行此操作的任何建议?

sql sql-server entity-framework-6
1个回答
0
投票
因此,不要将case语句与参数一起使用,而应将其用作过滤器。因此,您的视图将类似于(最佳实践是始终在您的对象上包含架构,我认为是dbo):

view

© www.soinside.com 2019 - 2024. All rights reserved.