?linq在開發工具中拉出是由動態存儲過程執行的存儲過程的時候,返回值是一個int類型。但是我們執行的存儲過程返回要是一張表,這時候linq的一些不足就暴露出來了。不能識別動態語言編寫的存儲過程返回值,怎么能夠讓它返回一張表,請大家幫幫忙呀,而且我的表名是不確定的,存儲過程如下:
IF EXISTS(SELECT Name FROM SYSOBJECTS WHERE Name='sp_SearchMetaData') DROP PROCEDURE sp_SearchMetaDataGOCREATE PROCEDURE sp_SearchMetaData(@DataBase NVARCHAR(100),@DataTable NVARCHAR(100))ASDECLARE @Data NVARCHAR(200)DECLARE @varColumns NVARCHAR(300)SET @Data=@DataBase+'.dbo.'+@DataTableEXEC('SELECT * FROM '+@Data)GO
?
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
其實有一種更簡單的解決辦法,
linqtosql還有一個方法,ExceuteCommand
用這個傳遞查詢語句更方便。如果覺得每次都傳遞“select * from {0}",干脆做一個擴展方法。
總之解決問題就OK。
- 1 回答
- 0 關注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消