我們正在開發一個內部系統,使用存儲庫模式和實體框架5作爲我們的ORM。使用實體框架執行存儲過程
我們在我們的數據庫中有一堆存儲過程,我們稱之爲。其中一些程序具有相似的參數名稱。因此,當我們撥打電話,以執行存儲過程,就像這樣:
DbContext.Database.SqlQuery<ReturnType>(query, parameters)
產生的枚舉失敗,第二次調用同一個類似的參數名稱的另一個過程,他說:
ArgumentException的是未處理通過用戶代碼:SqlParameter已被另一個SqlParameterCollection包含。
我們試圖把所有SqlParameters
到一個集合,我們遍歷和空出的集合中的所有項目,但這個失敗以及....光榮。
有沒有辦法在這個堆棧跟蹤中訪問和操作Object數組?
在System.Data.SqlClient.SqlParameterCollection.Validate(的Int32索引,對象的值)
在System.Data.SqlClient.SqlParameterCollection.AddRange(數組值)
在System.Data.Objects.ObjectContext。 CreateStoreCommand(字符串的CommandText,對象[]參數)
在System.Data.Objects.ObjectContext.ExecuteStoreQueryInternal [TElement](字符串的CommandText,字符串entitySetName,MergeOption mergeOption,對象[]參數)
在System.Data .Objects.ObjectContext.Execu teStoreQuery [TElement](字符串的CommandText,對象[]參數)
在System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery [TElement](字符串SQL,對象[]參數)
在System.Data。 Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable [TElement](字符串SQL,對象[]參數)
在System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(類型的ElementType,字符串SQL,對象[]參數)
at System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator()
在System.Data.Entity.Internal.InternalSqlQuery1.GetEnumerator()
1源)
at System.Linq.Enumerable.First[TSource](IEnumerable
你可以顯示更多的代碼和錯誤發生在哪一行? – PilotBob