【发布时间】:2019-09-18 19:55:57
【问题描述】:
我有这样的看法。
Create view RefStatus
as
select row_number() over(order by Inserted_On desc) Slno, Name,
Email_ID Email, Mobile_No Mobile, Status, Inserted_On ProfileCreatedOn from RefTable
现在
select Slno, Name,
Email, Mobile, Status, ProfileCreatedOn from RefStatus
很好,我得到了预期的序列号。但是当我尝试
select Slno, Name,
Email, Mobile, Status, ProfileCreatedOn from RefStatus where Status = 'In-Progress'
我的序列号没有正确生成。它仍然将我表的所有记录视为基础并生成不正确的序列号。 如何单独为过滤的行生成序列号。
我知道这可以通过存储过程或为每个状态创建单独的视图来完成。有没有办法在同一个视图中做到这一点?原因是我需要从 C# 调用这个视图,使用实体框架和 linq。
【问题讨论】:
-
你在
RefTable表中没有PK吗? -
不,实际上我没有任何 RefTable,为了简单起见,我提到了它,我的实际选择查询是一个大查询,有多个内部连接和大约 15 个表的左连接
-
如果您要使用此序列号来识别一行,那么这将无济于事,因为
Inserted_On列数据可能会改变这意味着SerialNo也会改变. -
不,我不会使用该密钥更新任何内容,我实际上希望
SlNo使用过滤后的数据进行更改,但它没有发生。SlNo与行的过滤和未过滤数据保持相同。 -
好吧,那么@Prasanth Kumar Vinakota 你已经有了答案。
标签: c# sql-server entity-framework linq filtering