2011-09-26 32 views
8

Có ứng dụng ASP.NET rất lớn Tôi đang tạo các trường hợp thử nghiệm Giao diện người dùng tự động, một phần của phần cuối của trường hợp thử nghiệm này là xóa người dùng vừa tạo (vì vậy chúng tôi giữ cùng một chi tiết mỗi lần chạy thử nghiệm duy nhất và sẽ mong đợi cùng một kết quả, không có dữ liệu nào thay đổi.) và vì vậy tôi đã thực hiện một thủ tục được lưu trữ để thực hiện việc này.Loại trả về không hợp lệ cho thủ tục được lưu trữ đã ánh xạ

SP hoạt động tốt trong SQL, đã thử nghiệm nó. Bây giờ đã ánh xạ nó vào LINQ2SQL. Tuy nhiên khi nó được chạy tôi nhận được điều này:

System.InvalidOperationException: 'System.Void' không phải là kiểu trả về hợp lệ cho phương thức thủ tục được lưu trữ đã ánh xạ.

Điểm mấu chốt là SP của tôi không có kiểu trả về, tôi không muốn.

Trả lời

13

Theo mặc định, thực hiện thành công một thủ tục lưu trữ sẽ trả về giá trị số 0.

Bạn có thể thay đổi kiểu trả về để lập bản đồ LINQ2SQL của bạn để int? Nếu bạn không quan tâm đến giá trị trả về, bạn có thể bỏ qua nó.

+0

Tôi gặp sự cố tương tự và muốn trả về DATETIME từ quy trình được lưu trữ của mình. Làm theo hướng dẫn trên [msdn] (https://msdn.microsoft.com/en-us/library/bb399357 (v = vs.110) .aspx), tôi đã gặp phải lỗi này. Điều quan trọng là thay đổi ánh xạ cuộc gọi của tôi thành: '[Hàm thuộc tính (Tên =" dbo.GetMyDate ", IsComposable = true)] [return: Parameter (DbType =" DATETIME ")]' –

Các vấn đề liên quan