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 CATCH
TVP:
CREATE TYPE dbo.ScoreType AS TABLE ( ScoreID int, StudentID int, etc.... )
ただし、 SP を EF に追加すると、次のエラーが表示されます。
モデルが生成されましたが、警告またはエラーが発生しました。
詳細については、エラー リストを参照してください。これらの問題は、アプリケーションを実行する前に修正する必要があります。
データベースからのメタデータの読み込みに 00:00:02.5618735 かかりました。
モデルの生成には 00:00:01.2346890 かかりました。