2010-03-08 24 views
6

Về cơ bản, this question với một sự khác biệt ...Capture đầu ra Stored Procedure in trong .NET (mô hình khác nhau!)

Có thể nắm bắt đầu ra in từ một stored procedure TSQL trong .NET, sử dụng khung Entity?

Giải pháp trong câu hỏi khác không phù hợp với tôi. Nó hoạt động với kiểu kết nối từ System.Data.SqlClient nhưng tôi đang sử dụng một từ System.Data.EntityClient mà không có sự kiện InfoMessage. (Tất nhiên, tôi chỉ có thể tạo kết nối SQL dựa trên cài đặt Kết nối thực thể nhưng muốn thực hiện trực tiếp.)

Trả lời

10

Thực tế, nhưng vì EF không phải là SQL Server cụ thể, bạn phải truyền nó :

var sqlConn = (SqlConnection)Context.Connection.StoreConnection; 
+1

GREAT! Mặc dù tôi phải làm một kiểu chữ kép. Từ DbConnection qua EntityConnection đến SqlConnection. –

8

Chỉ cần để cho mọi người thấy một ví dụ hoàn chỉnh làm việc kể từ câu trả lời của Craig và phản ứng Wim của:

var entityConnection = (EntityConnection)Context.Connection; 
var sqlConnection = (SqlConnection)entityConnecion.StoreConnection; 
sqlConnection.InfoMessage += (s,a) => Debug.WriteLine(a.Message); 

Steve

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