2014-01-10 77 views
2

我的環境是VS 2012,C#,EF6和SQL Server 2008 R2。EF6存儲過程沒有結果

我想執行一個存儲過程使用的模式來刪除記錄沒有返回值:如果沒有結果返回例如

dataContext.Database.SqlQuery<return type>("name", parameter) 

NO COUNT ON我應該如何設置返回類型?似乎它應該很簡單,但我無法在任何地方找到答案。

我想dataContext.Database.SqlQuery("name", parameter)但返回編譯錯誤: 爲'System.Data.Entity.Database.SqlQuery(System.Type, string, params object[])'的最佳重載的方法匹配具有一些無效參數

回答

8

使用ExecuteSqlCommand而不是SqlQuery,如果你並不需要查詢一些數據:

dataContext.Database.ExecuteSqlCommand("name", parameter) 
+0

謝謝 - 我試過,但我得到一個編譯錯誤System.Data.Entity.Database.SqlQuery(System.Type,字符串,params對象[])''最好的重載方法匹配有一些無效的參數。我會在這個問題上加上這一點。 –

+0

@PeterSmith抱歉,沒有得到你爲什麼仍然試圖使用你的原始代碼而不是我的回答中的代碼 –

+1

ExecuteSqlCommand是對的。你必須檢查你填寫參數的方式,如果你在存儲過程名稱參數 – Alberto