NHibernate-从多个存储过程填充数据
是的,还有一个nhibernate&存储过程问题,对不起 我有两个返回相同结构的存储过程(因此我想将它们绑定到同一个类),唯一的区别是第二个存储过程中的“where”条件。我可以将这两个存储过程绑定到我的类吗?映射文件是什么样子的?或者您更喜欢不同的方法:NHibernate-从多个存储过程填充数据,nhibernate,stored-procedures,nhibernate-mapping,Nhibernate,Stored Procedures,Nhibernate Mapping,是的,还有一个nhibernate&存储过程问题,对不起 我有两个返回相同结构的存储过程(因此我想将它们绑定到同一个类),唯一的区别是第二个存储过程中的“where”条件。我可以将这两个存储过程绑定到我的类吗?映射文件是什么样子的?或者您更喜欢不同的方法: 只使用一个存储过程并添加新的输入参数,该参数说明该过程应如何运行 根本不要使用NHibernate,而是使用DataAdapter 创建一个视图(但在我的示例中,我不知道如何…) 第一个存储过程: ALTER procedure [Ba
- 只使用一个存储过程并添加新的输入参数,该参数说明该过程应如何运行
- 根本不要使用NHibernate,而是使用DataAdapter
- 创建一个视图(但在我的示例中,我不知道如何…)
ALTER procedure [BadCodes].[GetCodesBetween]
@codeFrom bigint,
@codeTo bigint
as
begin
set nocount on
;with BadCodesOriginal as (
select Code
from Scanning.BadCodes
where Code between @codeFrom and @codeTo
),
BadCodesScanned as (
select Code, count(*) NumberOfBadCodesScanned
from BadCodes.Scan
where Code between @codeFrom and @codeTo
group by Code
)
select t1.Code Code, isnull(t2.NumberOfBadCodesScanned, 0) NumberOfBadCodesScanned
from BadCodesOriginal t1 left join BadCodesScanned t2 on (t1.Code = t2.Code)
order by t1.Code
end
ALTER procedure [BadCodes].[GetCodesBetweenDifference]
@codeFrom bigint,
@codeTo bigint
as
begin
set nocount on
;with BadCodesOriginal as (
select Code
from Scanning.BadCodes
where Code between @codeFrom and @codeTo
),
BadCodesScanned as (
select Code, count(*) NumberOfBadCodesScanned
from BadCodes.Scan
where Code between @codeFrom and @codeTo
group by Code
)
select t1.Code Code, isnull(t2.NumberOfBadCodesScanned, 0) NumberOfBadCodesScanned
from BadCodesOriginal t1 left join BadCodesScanned t2 on (t1.Code = t2.Code)
where isnull(t2.NumberOfBadCodesScanned, 0) <> 1
order by t1.Code
end
第二个存储过程:
ALTER procedure [BadCodes].[GetCodesBetween]
@codeFrom bigint,
@codeTo bigint
as
begin
set nocount on
;with BadCodesOriginal as (
select Code
from Scanning.BadCodes
where Code between @codeFrom and @codeTo
),
BadCodesScanned as (
select Code, count(*) NumberOfBadCodesScanned
from BadCodes.Scan
where Code between @codeFrom and @codeTo
group by Code
)
select t1.Code Code, isnull(t2.NumberOfBadCodesScanned, 0) NumberOfBadCodesScanned
from BadCodesOriginal t1 left join BadCodesScanned t2 on (t1.Code = t2.Code)
order by t1.Code
end
ALTER procedure [BadCodes].[GetCodesBetweenDifference]
@codeFrom bigint,
@codeTo bigint
as
begin
set nocount on
;with BadCodesOriginal as (
select Code
from Scanning.BadCodes
where Code between @codeFrom and @codeTo
),
BadCodesScanned as (
select Code, count(*) NumberOfBadCodesScanned
from BadCodes.Scan
where Code between @codeFrom and @codeTo
group by Code
)
select t1.Code Code, isnull(t2.NumberOfBadCodesScanned, 0) NumberOfBadCodesScanned
from BadCodesOriginal t1 left join BadCodesScanned t2 on (t1.Code = t2.Code)
where isnull(t2.NumberOfBadCodesScanned, 0) <> 1
order by t1.Code
end
只需为每个SP添加一个
检查