我在我的mvc应用程序(asp.net)中使用Entity Framework。我正在使用一堆存储过程没有问题,除了其中一个。此存储过程如下所示:
select
@PosteID = HpoPosteID
from
[Corporatifs_AQ].[dbo].[RhEmplPost]
where
HemEmployeID = @HemEmployeID
exec [dbo].[usp_RhServiceSuperieurPoste] @PosteID, @CompOrgaServ OUTPUT
select
distinct
emp.HemPrenom,
emp.HemNom,
emp.HemInitiale,
aff.HafDescription,
emp.HemEmployeID,
pos.HcoCompOrgaID
from
dbo.ObtenirCompOrgaEnfants( NULL,@CompOrgaServ,1,NULL ) enf
join [dbo].[RhCompPost] pos on pos.HcoCompOrgaID = enf.HcoCompOrgaID
join [dbo].[RhAffectation] aff on aff.HpoPosteID = pos.HpoPosteID
join [dbo].[RhPoste] poste on aff.HpoPosteID = poste.HpoPosteID
join [dbo].[RhEmploye] emp on emp.HemEmployeID = aff.HemEmployeID
where
((HemNom LIKE @HemLettres) OR
(HemPrenom LIKE @HemLettres))
实体框架正在处理这个过程,就像它返回一个int(HpoPosteID
),但它也返回(选择不同的)更多的值,所以我需要一个复杂的类型。它之前有用,但我删除了edmx以创建一个新的,我不知道发生了什么..
在我删除的edmx中,调用该过程的函数如下所示:
public virtual ObjectResult<usp_RhEmployeNomPrenomSelect_Result> usp_RhEmployeNomPrenomSelectService(string hemLettres, Nullable<int> hemDate, Nullable<int> hemEmployeID)
{...
请注意,返回的complexe类型是RhEmployeNomPrenomSelect,它是另一个存储过程的复杂类型(RhEmployeNomPrenomSelect),但RhEmployeNomPrenomSelectService返回相同的字段,因此实体框架重用了该对象
但是现在,它按照相同的程序返回一个int:
public virtual int usp_RhEmployeNomPrenomSelectService(string hemLettres, Nullable<int> hemDate, Nullable<int> hemEmployeID)
{