Я пытаюсь создать хранимую процедуру в первый раз, но я просто не могу получить это правильно. Таким образом, у меня есть proc, который возвращает счет из db, основываясь на параметрах, которые ему подают. Я не уверен, что я делаю неправильно, если SQL неправильный или я неправильно отображаю функцию. Вот мой SQL:Ошибка C# MVC EF - считыватель данных несовместимый член типа не имеет соответствующего столбца в считывателе данных с тем же именем
USE [AuditTracker_Codegen]
GO
/****** Object: StoredProcedure [dbo].[GetAllFindingsCount] Script Date: 05/12/2016 08:43:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[GetAllFindingsCount](@ReportId int, @Priority int, @IsDeleted bit)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT COUNT(*)
from [dbo].[App_Finding] finding
WHERE finding.ReportId = @ReportId and finding.Priority = @Priority and finding.IsDeleted = @IsDeleted
END
Во-первых, этот запрос SQL выглядит правильно? Я выполнил его в SSMS и, похоже, вернул правильный результат.
Затем я перехожу к VS, обновляю модель из базы данных, добавляю хранимую процедуру. Затем я перехожу к функции Импорт в модельный браузер, щелкните правой кнопкой мыши, добавьте функцию импорта. Выберите сохраненный процесс в раскрывающемся списке, нажмите «Получить информацию о столбце», а затем нажмите «Создать новый сложный тип». Дайте устройству имя, затем нажмите ОК. Насколько я знаю, это должно быть так, не так ли? Или я ошибаюсь?
В моем коде я тогда попробовать
var context = new AuditTrackerDatabaseContext();
var findingsOne = context.GetAllFindingsCount_Result(report.ReportId,
(int) PriorityStatus.One, false).ToString();
И вот где я получаю ошибку выше. Когда я проверяю детали отображения на EDMX для этого прок, он говорит
Maps to GetAllFindingsCount Column
Column1 : Int32 <- Column1
ли кто-нибудь может сообщить мне о том, что я здесь делаю неправильно, почему это не работает?
Спасибо, я дам, что попробовать и пусть вы знаете, если это работает. – necrofish666
Это действительно сработало! Черт возьми, это всегда самое простое. Огромное спасибо. Любая идея, как я преобразую результат этого в int? (это ObjectResult) –
necrofish666