Utilisation de la procédure stockée dans Entity Framework 5 avec un type complexe?

J’ai la procédure stockée suivante dans SQL Server:

ALTER PROCEDURE [dbo].[FullTextSearchOnContent] ( @SearchText NVARCHAR(200), @LanguageId INT , @ContentStatusId INT , @ResultCount INT ) AS BEGIN SET FMTONLY OFF; SET NOCOUNT ON; IF (@SearchText IS NULL) OR (@SearchText = '') OR (@ResultCount IS NULL) OR (@ResultCount = 0) RETURN NULL; SELECT DISTINCT TOP(@ResultCount) C.Id AS ContentId, C.ImagePath AS ContentImagePath, C.IsSpecial,C.LanguageId,C.LockCommenting,C.RegistrationDate AS ContentRegistrationDate,C.StatusId AS ContentStatusId,C.Summary,C.Title,C.VisitNumber,C.AllTagsSsortingng, CS.FarsiName AS ContentStatusFarsiName, U.Id As UserId,U.InitialReputation AS UserInitialReputation,U.IsAdmin AS IsUserAdmin,U.FullName AS UserFullName,U.PhotoPath AS UserPhotoPath,U.RoleId AS UserRoleId,U.UserStatusId AS UserStatusId --,T.Id AS TagId, T.Name AS TagName FROM Content AS C INNER JOIN [User] AS U ON U.Id = C.WriterId INNER JOIN [Subject] AS S ON S.Id = C.SubjectId INNER JOIN [ContentStatus] AS CS ON CS.Id = C.StatusId --INNER JOIN (SELECT DISTINCT * FROM Tag AS T -- INNER JOIN TagContent AS TC ON TC.TagId=T.Id) -- AS T ON T.ContentId = C.Id WHERE C.LanguageId = @LanguageId AND C.StatusId=@ContentStatusId AND CONTAINS((C.Title,C.AllTagsSsortingng),@SearchText) ORDER BY C.RegistrationDate DESC END 

Il est utilisé pour la recherche en texte intégral sur certaines colonnes.

Je veux l’utiliser dans EF5, mais il retourne toujours int !

Comment puis-je l’utiliser dans Entity Framework 5?

MODIFIER :

Je ne pouvais pas générer le type complexe, chaque fois que je clique sur le bouton Get Column Information sur la Get Column Information rien ne se passe!

Obtenir des informations sur les procédures stockées dans l'entité framework 5

Je viens de trouver la réponse.
J’ai changé la procédure stockée comme suit:

 ALTER PROCEDURE [dbo].[FullTextSearchOnContent] ( @SearchText NVARCHAR(200), @LanguageId INT , @ContentStatusId INT , @ResultCount INT ) AS BEGIN SET NOCOUNT ON; DECLARE @ReturnTable table ( ContentId int not null, LanguageId int null, ContentStatusId int null, ContentTitle nvarchar(2000) null, ContentSummary nvarchar(2000) null, ContentImagePath nvarchar(50) null, IsSpecial bit null, LockCommenting bit null, VisitNumber int null, AllTagsSsortingng nvarchar(max) null, ContentRegistrationDate datetime not null, ContentStatusFarsiName nvarchar(50) null, UserId int null, UserInitialReputation int null, IsUserAdmin bit null, UserFullName nvarchar(71) null, UserPhotoPath nvarchar(50) null, UserRoleId int null, UserStatusId int null, SubjectId int not null, SubjectName nvarchar(50) null, SubjectSymbolPath nvarchar(1000) null ) IF (@SearchText IS NULL) OR (@SearchText = '') OR (@ResultCount IS NULL) OR (@ResultCount = 0) RETURN NULL; INSERT @ReturnTable SELECT DISTINCT TOP(@ResultCount) C.Id AS ContentId, C.LanguageId, C.StatusId AS ContentStatusId, C.Title AS ContentTitle, C.Summary AS ContentSummary, C.ImagePath AS ContentImagePath, C.IsSpecial, C.LockCommenting, C.VisitNumber, C.AllTagsSsortingng, C.RegistrationDate AS ContentRegistrationDate, CS.FarsiName AS ContentStatusFarsiName, U.Id As UserId, U.InitialReputation AS UserInitialReputation, U.IsAdmin AS IsUserAdmin, U.FullName AS UserFullName, U.PhotoPath AS UserPhotoPath, U.RoleId AS UserRoleId, U.UserStatusId AS UserStatusId, S.Id AS SubjectId, S.Name AS SubjectName, S.SymbolPath AS SubjectSymbolPath --,T.Id AS TagId, T.Name AS TagName FROM Content AS C INNER JOIN [User] AS U ON U.Id = C.WriterId INNER JOIN [Subject] AS S ON S.Id = C.SubjectId INNER JOIN [ContentStatus] AS CS ON CS.Id = C.StatusId --INNER JOIN (SELECT DISTINCT * FROM Tag AS T -- INNER JOIN TagContent AS TC ON TC.TagId=T.Id) -- AS T ON T.ContentId = C.Id WHERE C.LanguageId = @LanguageId AND C.StatusId=@ContentStatusId AND CONTAINS((C.Title,C.AllTagsSsortingng),@SearchText) ORDER BY C.RegistrationDate DESC select * from @ReturnTable --SELECT TOP(@ResultCount) * from Content order by RegistrationDate desc END 

Maintenant cela fonctionne comme un charme 🙂