我正在尋找如何使用存儲過程在C#中使用Linq-to-SQL。在c#中使用存儲過程使用LINQ to SQL
這是我的存儲過程:
ALTER PROCEDURE [dbo].[uploadImage] @ppr INT,
@imagename VARCHAR,
@imagecontent VARCHAR,
@imagebinary IMAGE
AS
BEGIN TRANSACTION
IF EXISTS (
SELECT ImageID
FROM [ImageStorage]
WHERE ImageID = (
SELECT codeimg
FROM Agent
WHERE PPR = @ppr
)
)
BEGIN
--select ImageBinary from [ImageStorage] where ImageID = (select codeimg from Agent where [email protected])
UPDATE ImageStorage
SET ImageName = @imagename,
ImageContentType = @imagecontent,
ImageBinary = @imagecontent
WHERE imageID = (
SELECT codeimg
FROM Agent
WHERE PPR = @ppr
)
END
ELSE
INSERT INTO ImageStorage (
ImageName,
ImageContentType,
ImageBinary
)
VALUES (
@imagename,
@imagecontent,
@imagebinary
)
COMMIT
謝謝
這裏http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-看看sql-part-6-retrieve-data-using-stored-procedures.aspx – Christos
您可能只想進行更新並檢查[** @@ ROWCOUNT **](http://technet.microsoft.com/zh-cn/ -us/library/ms187316.aspx)決定進行更新。我相信它在服務器上的工作量會減少(現在您正在查詢它是否存在) – SQLMason