LINQ to SQL - невозможно изменить тип возвращаемого значения хранимой процедуры - PullRequest
20 голосов
/ 29 мая 2009

Когда я перетаскиваю определенную хранимую процедуру в конструктор dbml VS 2008, она отображается с типом возвращаемого значения «none» и доступна только для чтения, поэтому я не могу ее изменить. Код конструктора показывает, что он возвращает int, и если я изменяю его вручную, он просто отменяется при следующей сборке.

Но с другой (почти идентичной) хранимой процедурой я могу очень просто изменить тип возвращаемого значения (с "Auto Generated Type" на то, что я хочу.)

Я столкнулся с этой проблемой на двух разных машинах. Есть идеи, что происходит?

Вот хранимая процедура, которая работает:

USE [studio]
GO
/****** Object:  StoredProcedure [dbo].[GetCourseAnnouncements]    Script Date: 05/29/2009 09:44:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[GetCourseAnnouncements]
    @course int
AS
SELECT * FROM Announcements WHERE Announcements.course = @course
RETURN

А этот нет:

USE [studio]
GO
/****** Object:  StoredProcedure [dbo].[GetCourseAssignments]    Script Date: 05/29/2009 09:45:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[GetCourseAssignments]
    @course int
AS
SELECT * FROM Assignments WHERE Assignments.course = @course ORDER BY date_due ASC
RETURN

Ответы [ 12 ]

0 голосов
/ 07 июня 2010
0 голосов
/ 23 сентября 2009

Это также происходит при использовании пользовательских типов sql в качестве параметров в хранимых процедурах

http://alejandrobog.wordpress.com/2009/09/23/linq-to-sql-%e2%80%94-can%e2%80%99t-modify-return-type-of-stored-procedure/

...