我在sql 2008中使用EF + SP中的EF +函数来发送和获取值。
SP:
ALTER proc [dbo].[InsertIntoScore]
(
@DateReg datetime,
@stdLastName nvarchar(50),
@stdFirstName nvarchar(50),
@Description nvarchar(500),
@tvpScore ScoreType READONLY
)
AS
DECLARE @Id AS INT
BEGIN TRY
BEGIN TRANSACTION
INSERT INTO Student(DateReg,stdLastName,stdFirstName,[Description])
VALUES (@DateReg,@stdLastName,@stdFirstName,@Description)
set @Id = SCOPE_IDENTITY()
insert tblScore(...)
Select ... FROM @tvpScore
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK
END CATCHTVP:
CREATE TYPE dbo.ScoreType AS TABLE ( ScoreID int, StudentID int, etc.... ) 但在Add SP to EF中显示此错误:
生成模型时出现警告或错误。
有关更多详细信息,请参阅错误列表。在运行应用程序之前,必须解决这些问题。
从数据库加载元数据花费了00:00:02.5618735。
生成模型花费了00:00:01.2346890。
发布于 2012-07-15 15:30:10
Ef不支持TVP。必须使用ADO.NET直接调用此存储过程。
你可以在Data UserVoice上投票支持TVP。
https://stackoverflow.com/questions/11490126
复制相似问题