Что касается новой версии Microsoft Enterprise Libarary 6, они имеют метод, называемый ExecuteSprocAccessor
(который должен возвращать Ienumerable<T>
когда выполнение SP), который все его перегрузки являются: примерКорпоративная библиотека 6 ExecuteSprocAccessor overload?
Использование:
/*1*/ [Description("Return data as a sequence of objects using a stored procedure")]
/*2*/ static void ReadDataAsObjects()
/*3*/ {
/*4*/ // Create an object array and populate it with the required parameter values
/*5*/ object[] paramArray = new object[] { "%bike%" };
/*6*/ // Create and execute a sproc accessor that uses default parameter and outpu`t mappings
/*7*/ IEnumerable<Product> productData = defaultDB.ExecuteSprocAccessor<Product>("GetProductList", paramArray);
/*8*/ //...
/*9*/ //...
/*10*/ }
Дополнительная информация:
Механизм добавления параметров (здесь) очень проблематичен, потому что нет ассоциации ParameterName to value
.
все они есть (в строке 5)
object[] paramArray = new object[] { "%bike%" };
Так что я думаю, если у меня есть более 1 из параметров будет выглядеть следующим образом:
object[] paramArray = new object[] { "%bike%",19,"lala"... };
означает, что Мне нужно будет знать порядок ввода параметров пара sp!
NB
Другие методы имеют такого рода прикрепление значения имени:
defaultDB.AddInParameter(sprocCmd, "state", DbType.String, "New York");
Вопрос
Есть ли способ использования ExecuteSprocAccessor
и до сих пор ParameterName to value
ассоциации? (Предполагая, что я не знаю, порядок зр входа паров
просто чудеса: они сделали 'ПараметрName to value' (AddInParameter), соответствующий другим методам. почему бы и не здесь? –